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

特征对比

下面是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)在列表末尾添加元素 xx:要添加的元素my_list.append(10)
extend(iterable)将可迭代对象 iterable 的元素添加到列表末尾。iterable:一个可迭代对象,如列表、元组等my_list.extend([20, 30])
insert(i, x)在索引 i 处插入元素 xi:要插入的索引位置; 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)向集合中添加元素 xx:要添加的元素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 对应的值,如果键不存在则返回 defaultkey:要获取值的键; 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 的元素,如果键不存在则返回 defaultkey:要移除的键; 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})
  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BenChuat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值