Python 列表、元组、字典、集合:四大容器详解

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


在 Python 中,列表(list)、元组(tuple)、字典(dict)、集合(set) 是最常用的数据结构。它们被称为“四大容器”,用于存储和管理多个数据。本文将带你从基础到进阶,彻底掌握这四种结构的区别与用法!

一、为什么要学习这四种容器?

Python 的设计哲学是“简单易用”。这四种容器各有特色,适用于不同的场景:

二、逐个击破:四大容器详解

1️⃣ 列表(list)

🔹 特点:

可变:支持增删改

有序:元素按插入顺序排列

允许重复

🔹 定义方式:

fruits = ['apple', 'banana', 'cherry']

🔹 常用操作:

# 添加元素

fruits.append('orange')

# 删除元素

fruits.remove('banana')

# 修改元素

fruits[0] = 'pear'

# 切片

print(fruits[1:3])  # 输出 ['cherry', 'orange']

🔹 使用场景:

存储用户输入的多条信息

动态添加或删除数据项

2️⃣ 元组(tuple)

🔹 特点:

不可变:定义后不能修改

有序

允许重复

🔹 定义方式:

point = (3, 5)

🔹 常用操作:

# 访问元素

print(point[0])  # 输出 3

# 解包赋值

x, y = point

🔹 使用场景:

表示固定数据(如坐标、颜色)

函数返回多个值时使用元组打包

3️⃣ 字典(dict)

🔹 特点:

可变

键(key)唯一

值(value)可重复

无序(Python 3.6 及之前),3.7+ 按插入顺序保存

🔹 定义方式:

person = {

    'name': 'Alice',

    'age': 25,

    'city': 'Beijing'

}

🔹 常用操作:

# 获取值

print(person['name'])

# 添加/修改

person['email'] = 'alice@example.com'

# 删除键值对

del person['city']

# 遍历字典

for key, value in person.items():

    print(key, ":", value)

🔹 使用场景:

存储结构化数据(如用户信息、配置项)

快速通过键查找数据(时间复杂度 O(1))

4️⃣ 集合(set)

🔹 特点:

可变

无序

自动去重

不支持索引访问

🔹 定义方式:

unique_numbers = {1, 2, 3, 2, 1}  # 自动去重为 {1, 2, 3}

🔹 常用操作:

# 添加元素

unique_numbers.add(4)

# 删除元素

unique_numbers.remove(2)

# 并集

set1 = {1, 2, 3}

set2 = {3, 4, 5}

print(set1.union(set2))  # 输出 {1, 2, 3, 4, 5}

# 交集

print(set1.intersection(set2))  # 输出 {3}

🔹 使用场景:

去除列表中重复元素

高效判断两个集合的关系(交、并、差)‍

三、对比总结表

四、实战小练习:学以致用

📌 场景一:统计词频

text = "hello world hello python world"
words = text.split()
word_count = {}
for word in words:
    if word in word_count:
        word_count[word] += 1
    else:
        word_count[word] = 1
print(word_count)
# 输出 {'hello': 2, 'world': 2, 'python': 1}

📌 场景二:去除重复数字​​​​​​​

nums = [1, 2, 3, 2, 4, 1, 5]
unique_nums = list(set(nums))
print(unique_nums)  # 输出 [1, 2, 3, 4, 5](顺序可能不同)‍

五、高级技巧推荐

✅ 列表推导式(List Comprehension)

squares = [x**2 for x in range(10)]
print(squares)  # 输出 [0, 1, 4, 9, ..., 81]

✅ 字典推导式(Dict Comprehension)​​​​​​​

chars = ['a', 'b', 'c']
char_index = {char: idx for idx, char in enumerate(chars)}
print(char_index)  # 输出 {'a': 0, 'b': 1, 'c': 2}

✅ 集合推导式(Set Comprehension)

even_set = {x for x in range(10) if x % 2 == 0}
print(even_set)  # 输出 {0, 2, 4, 6, 8}‍

六、总结

  

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值