列表是一种可变的序列类型,可以存储任意类型的元素。列表使用方括号 []
来表示。
创建列表
my_list = [1, 2, 3] print(my_list) # 输出:[1, 2, 3]
访问列表中的元素
my_list = ['a', 'b', 'c', 'd'] print(my_list[0]) # 输出:'a' print(my_list[-1]) # 输出:'d'
修改列表中的元素
my_list = ['a', 'b', 'c', 'd'] my_list[0] = 'z' print(my_list) # 输出:['z', 'b', 'c', 'd']
添加元素
使用 append() 方法
my_list = ['a', 'b', 'c'] my_list.append('d') print(my_list) # 输出:['a', 'b', 'c', 'd']
使用 insert() 方法
my_list = ['a', 'b', 'c'] my_list.insert(1, 'z') # 在索引1的位置插入元素'z' print(my_list) # 输出:['a', 'z', 'b', 'c']
删除元素
使用 del 关键字
my_list = ['a', 'b', 'c', 'd'] del my_list[0] print(my_list) # 输出:['b', 'c', 'd']
使用 remove() 方法
my_list = ['a', 'b', 'c', 'd'] my_list.remove('b') print(my_list) # 输出:['a', 'c', 'd']
使用 pop() 方法
my_list = ['a', 'b', 'c', 'd'] last_element = my_list.pop() print(last_element) # 输出:'d' print(my_list) # 输出:['a', 'b', 'c']
列表切片
my_list = ['a', 'b', 'c', 'd', 'e'] print(my_list[1:3]) # 输出:['b', 'c'] print(my_list[:3]) # 输出:['a', 'b', 'c'] print(my_list[2:]) # 输出:['c', 'd', 'e'] print(my_list[::2]) # 输出:['a', 'c', 'e']
列表排序
使用 sort() 方法
my_list = [5, 1, 9, 3] my_list.sort() print(my_list) # 输出:[1, 3, 5, 9] # 对字符串进行排序 my_list = ['banana', 'apple', 'cherry'] my_list.sort() print(my_list) # 输出:['apple', 'banana', 'cherry']
使用 sorted() 函数
my_list = [5, 1, 9, 3] sorted_list = sorted(my_list) print(sorted_list) # 输出:[1, 3, 5, 9] # 对字符串进行排序 my_list = ['banana', 'apple', 'cherry'] sorted_list = sorted(my_list) print(sorted_list) # 输出:['apple', 'banana', 'cherry']
反向排序
my_list = [5, 1, 9, 3] my_list.sort(reverse=True) print(my_list) # 输出:[9, 5, 3, 1] # 对字符串进行反向排序 my_list = ['banana', 'apple', 'cherry'] my_list.sort(key=str.lower, reverse=True) print(my_list) # 输出:['cherry', 'banana', 'apple']
列表推导式
# 将列表中的每个元素平方 numbers = [1, 2, 3, 4, 5] squares = [x**2 for x in numbers] print(squares) # 输出:[1, 4, 9, 16, 25] # 过滤出偶数 even_numbers = [x for x in numbers if x % 2 == 0] print(even_numbers) # 输出:[2, 4]
元组(Tuples)
元组是一种不可变的序列类型,可以存储任意类型的元素。元组使用圆括号 ()
来表示。
创建元组
my_tuple = (1, 2, 3) print(my_tuple) # 输出:(1, 2, 3)
访问元组中的元素
my_tuple = ('a', 'b', 'c', 'd') print(my_tuple[0]) # 输出:'a' print(my_tuple[-1]) # 输出:'d'
元组不可变性
my_tuple = (1, 2, 3) my_tuple[0] = 10 # 抛出 TypeError: 'tuple' object does not support item assignment
元组解包
x, y, z = (1, 2, 3) print(x) # 输出:1 print(y) # 输出:2 print(z) # 输出:3
元组和列表之间的转换
转换为列表
my_tuple = (1, 2, 3) my_list = list(my_tuple) print(my_list) # 输出:[1, 2, 3]
转换为元组
my_list = [1, 2, 3] my_tuple = tuple(my_list) print(my_tuple) # 输出:(1, 2, 3)
字典(Dictionaries)
字典是一种可变的映射类型,可以存储键值对。字典使用花括号 {}
来表示。
创建字典
my_dict = {'name': 'Alice', 'age': 25} print(my_dict) # 输出:{'name': 'Alice', 'age': 25}
访问字典中的元素
my_dict = {'name': 'Alice', 'age': 25} print(my_dict['name']) # 输出:'Alice' print(my_dict.get('age')) # 输出:25
添加或修改字典中的元素
my_dict = {'name': 'Alice', 'age': 25} my_dict['gender'] = 'female' print(my_dict) # 输出:{'name': 'Alice', 'age': 25, 'gender': 'female'} my_dict['age'] = 26 print(my_dict) # 输出:{'name': 'Alice', 'age': 26, 'gender': 'female'}
删除字典中的元素
使用 del 关键字
my_dict = {'name': 'Alice', 'age': 26, 'gender': 'female'} del my_dict['age'] print(my_dict) # 输出:{'name': 'Alice', 'gender': 'female'}
使用 pop() 方法
my_dict = {'name': 'Alice', 'age': 26, 'gender': 'female'} age = my_dict.pop('age') print(age) # 输出:26 print(my_dict) # 输出:{'name': 'Alice', 'gender': 'female'}
遍历字典
遍历键
my_dict = {'name': 'Alice', 'age': 26, 'gender': 'female'} for key in my_dict: print(key) # 输出:'name', 'age', 'gender'
遍历值
my_dict = {'name': 'Alice', 'age': 26, 'gender': 'female'} for value in my_dict.values(): print(value) # 输出:'Alice', 26, 'female'
遍历键值对
my_dict = {'name': 'Alice', 'age': 26, 'gender': 'female'} for key, value in my_dict.items(): print(f'{key}: {value}') # 输出:'name: Alice', 'age: 26', 'gender: female'
字典推导式
-- -------------------- ---- ------- - ------------------- ---- - ----- ---- ---- ------ - --- -- -- ------- - --- - --- -- - -- --------- -------- -------------- - -------- -- ---- -- ---- -- - ----------- ------- - ----- -- ---- -- ---- -- ---- -- ------------- - --- - --- -- - -- --------------- -- - - - -- -- -------------------- - -------- -- ---- --
集合(Sets)
集合是一种无序且不重复的数据类型,可以存储任意类型的元素。集合使用大括号 {}
或 set()
函数来表示。
创建集合
my_set = {1, 2, 3} print(my_set) # 输出:{1, 2, 3} # 使用 set() 函数创建集合 my_set = set([1, 2, 3]) print(my_set) # 输出:{1, 2, 3}
添加元素
my_set = {1, 2, 3} my_set.add(4) print(my_set) # 输出:{1, 2, 3, 4}
删除元素
使用 remove() 方法
my_set = {1, 2, 3, 4} my_set.remove(3) print(my_set) # 输出:{1, 2, 4}
使用 discard() 方法
my_set = {1, 2, 3, 4} my_set.discard(3) print(my_set) # 输出:{1, 2, 4}
集合运算
并集
set1 = {1, 2, 3} set2 = {3, 4, 5} union_set = set1.union(set2) print(union_set) # 输出:{1, 2, 3, 4, 5}
交集
set1 = {1, 2, 3} set2 = {3, 4, 5} intersection_set = set1.intersection(set2) print(intersection_set) # 输出:{3}
差集
set1 = {1, 2, 3} set2 = {3, 4, 5} difference_set = set1.difference(set2) print(difference_set) # 输出:{1, 2}
对称差集
set1 = {1, 2, 3} set2 = {3, 4, 5} symmetric_difference_set = set1.symmetric_difference(set2) print(symmetric_difference_set) # 输出:{1, 2, 4, 5}
集合推导式
# 将列表中的每个元素转换为集合中的元素 numbers = [1, 2, 3, 4, 5] number_set = {x for x in numbers} print(number_set) # 输出:{1, 2, 3, 4, 5} # 过滤出特定条件的元素 number_set = {x for x in range(10) if x % 2 == 0} print(number_set) # 输出:{0, 2, 4, 6, 8}
以上是 Python3 数据结构的详细介绍。希望这些示例和解释能帮助你更好地理解和使用 Python 中的各种数据结构。