python列表、元组、集合、字典整理

发布于:2024-07-01 ⋅ 阅读:(8) ⋅ 点赞:(0)

特征对比

下面是Python中列表、元组、集合和字典的特征对比表格:

特征 列表 (List) 元组 (Tuple) 集合 (Set) 字典 (Dictionary)
定义符号 [ ] ( ) { } { }
可变性 可变 不可变 可变 可变
有序性 有序 有序 无序 无序
元素访问 通过索引访问,索引从0开始 通过索引访问,索引从0开始 不支持索引访问 通过键访问
元素类型 可以包含任意类型的元素 可以包含任意类型的元素 可以包含任意类型的元素 键必须是不可变类型,值可以是任意类型
声明示例 my_list = [1, 'apple', True] my_tuple = (1, 'apple', True) my_set = {1, 'apple', True} my_dict = {'name': 'Alice', 'age': 30}
可变操作 添加、删除、修改元素 不支持添加、删除、修改元素 添加、删除元素 添加、删除、修改键值对

说明:

  • 可变性:列表、集合和字典是可变的,可以通过增删改操作来修改其内容;元组是不可变的,一旦创建后不能被修改。
  • 有序性:列表和元组是有序的,元素按照插入顺序排列;集合和字典是无序的,元素没有固定顺序。
  • 元素访问:列表和元组可以通过索引访问元素;集合不支持索引访问,只能通过迭代或特定方法访问元素;字典通过键来访问对应的值。
  • 元素类型:列表、元组、集合和字典都可以包含任意类型的元素;字典中的键必须是不可变类型,而值可以是任意类型。
  • 声明示例:各种数据结构的声明方式和示例。
  • 可变操作:列表可以进行添加、删除、修改等操作;元组不能进行任何修改操作;集合可以进行添加和删除元素的操作;字典可以进行添加、删除和修改。

常用方法

列表 (List)

方法 描述 参数说明 使用示例
append(x) 在列表末尾添加元素 x x:要添加的元素 my_list.append(10)
extend(iterable) 将可迭代对象 iterable 的元素添加到列表末尾。 iterable:一个可迭代对象,如列表、元组等 my_list.extend([20, 30])
insert(i, x) 在索引 i 处插入元素 x i:要插入的索引位置; x:要插入的元素 my_list.insert(1, 'apple')
remove(x) 移除列表中第一个值为 x 的元素。 x:要移除的元素 my_list.remove('apple')
pop([i]) 移除并返回索引为 i 处的元素。如果未指定索引,默认移除并返回最后一个元素。 i:可选的索引位置 my_list.pop()my_list.pop(0)
clear() 移除列表中的所有元素。 无参数 my_list.clear()
index(x) 返回第一个值为 x 的元素的索引。 x:要查找的元素 my_list.index('apple')
count(x) 返回值为 x 的元素在列表中出现的次数。 x:要计数的元素 my_list.count('apple')
sort(key=None, reverse=False) 对列表进行排序。 key:排序的规则函数; reverse:是否逆序排序 my_list.sort(reverse=True)
reverse() 反转列表中的元素。 无参数 my_list.reverse()
copy() 返回列表的浅拷贝。 无参数 new_list = my_list.copy()

元组 (Tuple)

元组是不可变的,因此没有修改元素的方法。

方法 描述 参数说明 使用示例
count(x) 返回值为 x 的元素在元组中出现的次数。 x:要计数的元素 my_tuple.count('apple')
index(x) 返回第一个值为 x 的元素的索引。 x:要查找的元素 my_tuple.index('apple')

集合 (Set)

方法 描述 参数说明 使用示例
add(x) 向集合中添加元素 x x:要添加的元素 my_set.add(10)
update(iterable) 将可迭代对象 iterable 的元素添加到集合中。 iterable:一个可迭代对象,如列表、元组等 my_set.update([20, 30])
remove(x) 移除集合中的元素 x,如果不存在会抛出 KeyError。 x:要移除的元素 my_set.remove('apple')
discard(x) 移除集合中的元素 x,如果不存在不会抛出异常。 x:要移除的元素 my_set.discard('apple')
pop() 随机移除并返回集合中的一个元素。 无参数 my_set.pop()
clear() 移除集合中的所有元素。 无参数 my_set.clear()
union(*others) 返回一个新集合,包含所有集合和可迭代对象 others 中的元素。 others:一个或多个集合或可迭代对象 new_set = my_set.union(other_set)
intersection(*others) 返回一个新集合,包含所有集合和可迭代对象 others 中共同的元素。 others:一个或多个集合或可迭代对象 new_set = my_set.intersection(other_set)
difference(*others) 返回一个新集合,包含所有在当前集合中但不在可迭代对象 others 中的元素。 others:一个或多个集合或可迭代对象 new_set = my_set.difference(other_set)
symmetric_difference(other) 返回一个新集合,包含所有在当前集合或 other 中,但不同时在两者中的元素。 other:另一个集合或可迭代对象 new_set = my_set.symmetric_difference(other_set)

字典 (Dictionary)

方法 描述 参数说明 使用示例
clear() 移除字典中的所有元素。 无参数 my_dict.clear()
copy() 返回字典的浅拷贝。 无参数 new_dict = my_dict.copy()
fromkeys(keys, value=None) 创建一个新字典,使用 keys 中的元素作为键,value 作为值(默认为 None)。 keys:作为键的可迭代对象; value:作为值的默认值 new_dict = dict.fromkeys(['name', 'age'], 'unknown')
get(key, default=None) 返回键 key 对应的值,如果键不存在则返回 default key:要获取值的键; default:键不存在时返回的默认值 value = my_dict.get('name', 'Unknown')
items() 返回字典的键值对视图。 无参数 items_view = my_dict.items()
keys() 返回字典的键视图。 无参数 keys_view = my_dict.keys()
values() 返回字典的值视图。 无参数 values_view = my_dict.values()
pop(key, default=None) 移除并返回键为 key 的元素,如果键不存在则返回 default key:要移除的键; default:键不存在时返回的默认值 value = my_dict.pop('name', 'Unknown')
popitem() 移除并返回任意一个键值对元组。 无参数 key_value_pair = my_dict.popitem()
setdefault(key, default=None) 返回键 key 对应的值,如果键不存在则将 default 设为该键的值并返回。 key:要获取值的键; default:键不存在时设置的默认值 value = my_dict.setdefault('name', 'Unknown')
update([other]) 更新字典,将另一个字典或可迭代对象 other 的键值对添加到当前字典中。 other:一个字典或可迭代对象 my_dict.update({'name': 'Alice', 'age': 30})