【Python学习】元组、列表、集合、字典的各种用法大全

🌈据说,看我文章时 关注、点赞、收藏帅哥美女们 心情都会不自觉的好起来。

前言:
🧡作者简介:大家好我是 user_from_future ,意思是 “ 来自未来的用户 ” ,寓意着未来的自己一定很棒~
✨个人主页:点我直达,在这里肯定能找到你想要的~
👍专栏介绍:Python学习 ,一个很哇塞的专栏~

想看往期历史文章,可以浏览此博文: 历史文章目录,后续所有文章发布都会同步更新此博文~

人生苦短,我用python

1. Tuple (元组)

元组是不可变的数据结构,一旦创建就不能修改。

创建
t = (1, 2, 3)  # 创建一个元组
t_single = (1,)  # 单个元素的元组需要加逗号
访问
print(t[0])  # 访问第一个元素
print(t[-1])  # 访问最后一个元素
切片
print(t[1:3])  # 从第2个到第3个元素(不包括第4个元素)
元组方法
  • count(x):返回 x 在元组中出现的次数
  • index(x):返回 x 在元组中的索引位置(如果不存在会抛出异常)
t = (1, 2, 3, 1)
print(t.count(1))  # 2
print(t.index(2))  # 1
元组的优点
  • 性能:由于不可变,元组的创建和访问比列表稍微高效。
  • 用于作为字典的键:由于不可变性,元组可以作为字典的键。

2. List (列表)

列表是可变的、有序的集合,可以存储任意类型的元素。

创建
l = [1, 2, 3, 'a', True]
访问
print(l[1])  # 访问第二个元素
print(l[-1])  # 访问最后一个元素
切片
print(l[1:3])  # 获取第二到第三个元素
常见操作
  • append(x):在列表末尾添加元素
  • insert(i, x):在索引 i 位置插入元素 x
  • extend(iterable):扩展列表,将 iterable 中的所有元素添加到列表末尾
  • remove(x):删除第一个匹配的元素 x
  • pop(i):移除并返回索引 i 位置的元素(默认为最后一个元素)
  • index(x):返回元素 x 在列表中的索引
  • count(x):返回元素 x 在列表中出现的次数
  • sort():排序列表
  • reverse():反转列表
  • clear():清空列表
l = [1, 2, 3]
l.append(4)  # [1, 2, 3, 4]
l.insert(1, 10)  # [1, 10, 2, 3, 4]
l.remove(10)  # [1, 2, 3, 4]
l.pop(2)  # [1, 2, 4]
l.sort()  # [1, 2, 4]
列表的优点
  • 列表是最常用的数据结构,灵活且功能丰富。
  • 支持动态大小调整。

3. Set (集合)

集合是无序且不重复的元素集合。它主要用于去重和测试成员关系。

创建
s = {1, 2, 3, 4}
empty_set = set()  # 空集合
添加和删除元素
s.add(5)  # 添加元素
s.remove(3)  # 删除指定元素(如果元素不存在会抛出 KeyError)
s.discard(4)  # 删除指定元素,如果不存在不会抛错
集合常用操作
  • union():返回两个集合的并集
  • intersection():返回两个集合的交集
  • difference():返回集合的差集
  • issubset():判断一个集合是否为另一个集合的子集
  • issuperset():判断一个集合是否为另一个集合的超集
  • isdisjoint():判断两个集合是否没有交集
s1 = {1, 2, 3}
s2 = {3, 4, 5}

print(s1.union(s2))  # {1, 2, 3, 4, 5}
print(s1.intersection(s2))  # {3}
print(s1.difference(s2))  # {1, 2}
集合的优点
  • 集合中没有重复元素,适合去重。
  • 可以快速判断元素是否存在。

字典(dict)是 Python 中最常用的数据结构之一,它是一个无序的、可变的键值对集合。每个键(key)都映射到一个值(value)。字典的键必须是不可变类型(如字符串、整数、元组等),而值可以是任意类型。

4. Dictionary (字典)

字典是由键值对组成的集合,常用于存储需要通过键访问值的场景。

创建字典
d = {'name': 'Alice', 'age': 25, 'job': 'engineer'}
empty_dict = {}  # 空字典

你也可以通过 dict() 函数创建字典:

d = dict(name='Alice', age=25, job='engineer')
访问字典中的值
print(d['name'])  # 访问键 'name' 对应的值
print(d.get('age'))  # 使用 get() 方法访问键 'age' 对应的值

如果访问的键不存在,get() 返回 None,而直接使用 [] 会抛出 KeyError 异常。

print(d.get('address', 'Not Found'))  # 如果键不存在,返回默认值
修改字典中的值
d['age'] = 26  # 修改已有的键对应的值
d['address'] = 'New York'  # 添加新的键值对
删除字典中的元素
  • del 语句:删除指定键的键值对
  • pop(key):删除指定键的键值对并返回其值
  • popitem():删除并返回字典中的一对键值对(随机选择)
del d['job']  # 删除键 'job' 和它对应的值
print(d.pop('address'))  # 删除 'address' 并返回它的值
字典的方法
  • keys():返回字典中所有的键
  • values():返回字典中所有的值
  • items():返回字典中的所有键值对(作为元组的集合)
  • update():更新字典,添加新键值对或修改已有的键值对
  • clear():清空字典
print(d.keys())  # 返回字典中的所有键
print(d.values())  # 返回字典中的所有值
print(d.items())  # 返回字典中的所有键值对

d.update({'job': 'developer', 'city': 'Beijing'})  # 更新字典
print(d)

d.clear()  # 清空字典
字典的遍历

你可以遍历字典的键、值或键值对:

# 遍历字典的键
for key in d:
    print(key)

# 遍历字典的值
for value in d.values():
    print(value)

# 遍历字典的键值对
for key, value in d.items():
    print(f"{key}: {value}")
字典的优点
  • 字典是通过键值对存储数据的,因此可以根据键快速查找值,时间复杂度为 O(1)。
  • 字典中的键是唯一的,适用于需要快速查找、更新、删除的场景。
  • 对于需要快速访问大量数据并且能够通过唯一标识符(键)索引的数据集,字典是最优选择。
示例代码
# 创建字典
person = {'name': 'Bob', 'age': 30, 'job': 'teacher'}

# 访问字典
print(person['name'])  # 输出: Bob
print(person.get('age'))  # 输出: 30
print(person.get('salary', 'Not Available'))  # 输出: Not Available

# 修改字典
person['age'] = 31
person['address'] = 'London'

# 删除元素
del person['job']
removed_value = person.pop('address')

# 遍历字典
for key, value in person.items():
    print(f"{key}: {value}")

总结

  • Tuple (元组):不可变,用于保存不可修改的、有序的集合。
  • List (列表):可变,有序,适用于需要频繁修改数据的场景。
  • Set (集合):无序,不重复,适用于需要快速查找、去重、进行集合运算的场景。
  • Dict (集合):字典是一个无序的、可变的键值对集合,通过键快速查找对应的值,适用于需要高效映射和存储数据的场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值