文章目录
- 1. 字符串概念
- 1.1 字符串的创建
- 1.2 字符串的访问和操作
- 1.2.1 下标访问
- 1.2.2 切片操作
- 1.2.3 字符串的拼接和重复
- 1.2.4 字符串的长度
- 1.3 字符串的方法
- 1.4 字符串的查找和替换
- 1.5 字符串格式化
- 1.5.1 使用 `%` 运算符
- 1.5.2 使用 `str.format()`
- 1.5.3 使用 f-string(Python 3.6 及以上版本)
- 1.6 字符串的编码和解码
- 2. 集合概念
- 2.1 集合的创建
- 2.2 集合的基本操作
- 2.2.1 添加元素
- 2.2.2 删除元素
- 2.2.3 集合的运算
- 2.2.4 集合的遍历
- 2.3 集合的判断
- 2.4 集合的清空和复制
- 2.5 集合的特点
1. 字符串概念
1.1 字符串的创建
字符串(String)是由一系列字符组成的数据类型。在Python中,字符串是不可变类型,即一旦创建就不能修改其中的字符。
可以使用单引号 '
或双引号 "
来创建字符串,也可以使用三引号(单引号或双引号)来创建多行字符串。
# 单引号创建字符串
a = 'hello'
print(type(a)) # <class 'str'># 双引号创建字符串
b = "world"
print(type(b)) # <class 'str'># 多行字符串,使用三引号
c = '''This is
a multi-line
string'''
print(c)
1.2 字符串的访问和操作
1.2.1 下标访问
字符串可以通过下标来访问每个字符。下标从0开始,也可以使用负数下标来从末尾访问字符。
a = "hello"
print(a[0]) # h
print(a[-1]) # o
1.2.2 切片操作
字符串支持切片操作,可以截取字符串的一部分。切片语法类似于列表:a[start:end:step]
。
a = "hello"
print(a[1:4]) # "ell"
print(a[:3]) # "hel"
print(a[::2]) # "hlo"
1.2.3 字符串的拼接和重复
使用 +
运算符可以拼接字符串,使用 *
运算符可以重复字符串。
a = "hello"
b = "world"
print(a + " " + b) # "hello world"
print(a * 3) # "hellohellohello"
1.2.4 字符串的长度
使用 len()
函数可以获取字符串的长度。
a = "hello"
print(len(a)) # 5
1.3 字符串的方法
字符串提供了许多常用的方法,以下是一些常用的字符串方法:
lower()
:将字符串转换为小写。upper()
:将字符串转换为大写。strip()
:去除字符串两端的空格。replace()
:替换字符串中的指定字符。split()
:将字符串按照指定的分隔符拆分成列表。
a = " Hello World "
print(a.lower()) # "hello world"
print(a.upper()) # "HELLO WORLD"
print(a.strip()) # "Hello World"
print(a.replace("World", "Python")) # " Hello Python "
print(a.split()) # ['Hello', 'World']
1.4 字符串的查找和替换
in
和not in
:用来判断子字符串是否存在于字符串中。find()
:返回子字符串第一次出现的位置,如果不存在返回-1
。count()
:返回子字符串在字符串中出现的次数。
a = "hello world"
print("world" in a) # True
print(a.find("world")) # 6
print(a.count("l")) # 3
1.5 字符串格式化
Python支持字符串格式化,通过%
运算符或str.format()
方法来实现。
1.5.1 使用 %
运算符
name = "John"
age = 25
print("My name is %s and I am %d years old." % (name, age))
1.5.2 使用 str.format()
print("My name is {} and I am {} years old.".format(name, age))
1.5.3 使用 f-string(Python 3.6 及以上版本)
print(f"My name is {name} and I am {age} years old.")
1.6 字符串的编码和解码
Python中的字符串是Unicode编码,而在处理文件或者网络通信时,可能需要将字符串转化为字节流(bytes)。可以使用encode()
方法将字符串编码为字节流,使用decode()
方法将字节流解码为字符串。
a = "hello"
b = a.encode('utf-8') # 编码为字节流
print(b) # b'hello'
c = b.decode('utf-8') # 解码回字符串
print(c) # hello
2. 集合概念
2.1 集合的创建
集合(Set)是一种无序、不重复的元素集合。在Python中,集合是可变的数据类型,集合的元素必须是不可变类型(如数字、字符串、元组等)。集合不支持索引、切片和其他序列类的操作。
集合可以通过花括号 {}
或者 set()
函数来创建。
# 使用花括号创建集合
a = {1, 2, 3, 4, 5}
print(type(a)) # <class 'set'># 使用 set() 函数创建集合
b = set([1, 2, 3, 4, 5])
print(type(b)) # <class 'set'>
2.2 集合的基本操作
2.2.1 添加元素
使用 add()
方法向集合中添加元素。如果元素已经存在,集合不会添加重复的元素。
a = {1, 2, 3}
a.add(4)
a.add(2) # 不会重复添加2
print(a) # {1, 2, 3, 4}
2.2.2 删除元素
可以使用 remove()
或 discard()
方法删除集合中的元素。remove()
在元素不存在时会抛出异常,而 discard()
如果元素不存在则不会做任何操作。
a = {1, 2, 3, 4}
a.remove(3) # 删除元素3
# a.remove(5) # 如果元素5不存在会抛出 KeyError 异常
a.discard(5) # 不会抛出异常
print(a) # {1, 2, 4}
2.2.3 集合的运算
集合支持一些常见的数学运算,比如并集、交集、差集等。
|
:并集&
:交集-
:差集^
:对称差集(即两个集合中不重复的元素)
a = {1, 2, 3}
b = {3, 4, 5}print(a | b) # 并集 {1, 2, 3, 4, 5}
print(a & b) # 交集 {3}
print(a - b) # 差集 {1, 2}
print(a ^ b) # 对称差集 {1, 2, 4, 5}
2.2.4 集合的遍历
可以使用 for
循环遍历集合中的元素。
a = {1, 2, 3, 4}
for elem in a:print(elem)
2.3 集合的判断
in
:判断一个元素是否存在于集合中。not in
:判断一个元素是否不在集合中。
a = {1, 2, 3, 4}
print(2 in a) # True
print(5 not in a) # True
2.4 集合的清空和复制
- 使用
clear()
方法清空集合。 - 使用
copy()
方法复制集合。
a = {1, 2, 3}
b = a.copy() # 复制集合
a.clear() # 清空集合
print(a) # set()
print(b) # {1, 2, 3}
2.5 集合的特点
- 无序性:集合中的元素没有顺序。
- 唯一性:集合中的元素是唯一的,不能重复。
a = {1, 2, 3, 3, 4}
print(a) # {1, 2, 3, 4},自动去重
集合是非常适合用于去重和进行集合运算的工具,可以高效地进行元素的查找、插入、删除等操作。