python列表、元组、字典、集合总结

本文深入解析了Python中的四种主要数据结构:列表、元组、字典和集合。详细介绍了每种数据结构的初始化、操作方法及应用场景,为Python开发者提供了全面的指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python列表:

列表、元组、字典分别对应list, tuple, dict

1.list的简介

列表是python内置的一种数据类型,是一种有序的集合,可对其进行增删改查。列表中的元素不一定是同类型的。列表是可变序列

2.list的初始化

list = []  # 空列表初始化
list = ['a', 'b', 'c'] # 有值初始化
list = [1, 2, 3, 'a', 'b', 'c'] # 包含不同类型元素的元组
list = [x for x in range(10)] # 使用列表推导式
list = list() # 使用类型的构造器
list = list(iterable) # iterable 是可迭代对象,例如:tuple

3.list的切片使用

list = [0,1,2,3,4,5,6,7]
list_1 = list[0:3] # [0,1,2] 
list_2 = list[2:3] # [2]
list_3 = list[:3]  # [0,1,2]
list_4 = list[3:]  # [3,4,5,6,7]
list_5 = list[:]   # [0,1,2,3,4,5,6,7]

总结:

  • list[n:m] 取值下标[n, m-1]之间的元素
  • list[:m] 取值下标[0, m-1]之间的元素
  • list[n:] 取值下标[n, len(list)-1]之间的元素

使用切片返回的元素是原列表的一个复制

4.list的复制

arr = [1,2,3]  # 原数组
arr_1 = arr[:]   # arr_1 利用切片进行复制
arr_2 = list(arr) # arr_2 利用构造器进行复制
arr_3 = arr.copy() # arr_3 利用列表中的方法进行复制

5.list的运算符

arr_1 = [1,2,3]
arr_2 = [4,5,6]
arr_3 = arr_1 + arr_2 # 连接两个列表 [1,2,3,4,5,6]
arr_4 = arr_1 * 2 # 重复列表 [1,2,3,1,2,3]
flag = 3 in arr_1 # 判断某个元素是否在列表中
for x in arr_1:   # 迭代数组
	print(x)

5.list的实现方法

序号函数含义
1list.append(obj)在列表尾部添加一个新的对象
2list.remove(obj)移除列表中某个值的第一个匹配项
3list.index(obj)寻找列表中某个值第一个匹配项的索引位置
4list.reverse()反向列表中元素
5list.clear()清空列表中元素
6list.copy()复制列表
7list.sort(key=None, reverse=False)对原列表进行排序
8list.count(obj)统计某个元素在列表中出现的次数
9list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
10list.insert(index, obj)在指定位置插入元素
11list.pop([index=-1])移除列表中的一个元素(默认最后一个)

作用于list的函数

序号函数含义
1len(list)返回列表元素个数
2max(list)返回列表中元素的最大值(数组中元素应是同类型)
3min(list)返回列表中元素的最小值(数组中元素应是同类型)
4list(seq)将元组转换为列表,这里list为一个构造器

参考:

菜鸟教程-python3-list

python 官方文档-内置类型(list)

python元组

1.tuple简介

元组与列表类似, 不同之处是元组中的元素不可更改

2.tuple初始化

tup = () # 空元组初始化
tup = (1,) # 仅有一个元素的初始化,应当在元素后加一个逗号,以防被当成运算符(括号)处理
tup = tuple() # 利用构造器进行初始化
tup = tuple(iterable) # 支持传入迭代器对象,例如:列表,字符串等

3.tuple切片

元组的切片使用方式同列表

4.tuple复制

tup = (1,2,4)
tup_1 = tup[:]  # 利用切片
tup_2 = tup     # 直接赋值

5.作用于tuple的函数

序号函数含义
1len(tup)返回元组元素个数
2max(tup)返回元组中元素的最大值(元组中元素应是同类型)
3min(tup)返回元组中元素的最小值(元组中元素应是同类型)
4tuple(seq)将列表转换为元组,这里tuple函数为一个构造器

参考:

菜鸟教程–python3 元组

python官方文档–tuple

python 字典

1.dict 简介

字典是可变容器,可存储任意类型对象; 包括键和值

可类比其他语言中的map

键不能重复,向字典中添加键相同的键值对, 后者的值会覆盖前者

键必须不可变, 可以用数字或者字符串, 但是列表不行

2.dict初始化

dict = {}   # 空元组初始化
dict = dict() # 利用构造器进行初始化
dict = {'abc':123, 'aaa':345, 'string':6666} # 带有初始值的初始化

3.dict 的访问

value = dict['abc'] # 利用键作为索引,取键对应的值,访问不存在的数据会报错
dict['abc'] = 7777  # 更改键对应的值

4.dict中的方法

序号函数描述
1dict.clear()清空字典
2dict.copy()返回字典的浅复制
3dict.get(key,default=None)返回指定键的值,如果不存在返回default值
4dict.setdefault(key, default=None)与get类似, 如果不存在, 则添加该键, 值为default对应值
5key in dict如果key在字典中返回True, 否则返回False
6dict.items()以列表返回可遍历的(键,值)元组数组
7dict.keys()返回一个包含所有key的迭代器,可用list转换为列表。
8dict.values()返回一个包含所有values的迭代器, 可用list转换为列表。
9dict.update(dict2)把字典dict2的键/值对更新到dict中
10dict.pop(key,[,default])删除字典给定键所对应的键值对,返回被删除的值
11dict.popitem()随机返回并删除字典中的最后一对键和值。
12dict.fromkeys()创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
python集合

1.set简介

集合中的元素是无序的, 不重复的

2.set初始化

set = set()  # 创建空集合必须用这种方式
dict = {}    # 使用这种方式创建的为空的字典
set = {1,2,3,4} # 可以用这种方式创建有初始值的集合
set = set(iterable) # 可以使用可迭代对象创建, 例如列表和元组

3.set中的方法

方法描述
add()为集合添加元素
clear()移除集合中的所有元素
copy()拷贝一个集合
difference()返回多个集合的差集
difference_update()移除集合中的元素,该元素在指定的集合也存在。
discard()删除集合中指定的元素
intersection()返回集合的交集
intersection_update()返回集合的交集。
isdisjoint()判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset()判断指定集合是否为该方法参数集合的子集。
issuperset()判断该方法的参数集合是否为指定集合的子集
pop()随机移除元素
remove()移除指定元素
symmetric_difference()返回两个集合中不重复的元素集合。
symmetric_difference_update()移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union()返回两个集合的并集
update()给集合添加元素

4.作用于set中的方法

序号函数含义
1len(set)返回集合元素个数
2max(set)返回集合中元素的最大值(集合中元素应是同类型)
3min(set)返回集合中元素的最小值(集合中元素应是同类型)
4set(seq)将列表转换为集合,这里set函数为一个构造器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值