【Python学习/4】基本数据结构之字符串与集合
- 游戏开发
- 2025-09-08 07:12:01

文章目录 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},自动去重集合是非常适合用于去重和进行集合运算的工具,可以高效地进行元素的查找、插入、删除等操作。
【Python学习/4】基本数据结构之字符串与集合由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【Python学习/4】基本数据结构之字符串与集合”