我把 Python 中 zip() 函数玩出花了!

教育   2024-11-19 19:35   四川  


1. 合并两个列表

用例:逐个元素合并两个列表。

names = ["Alice""Bob""Charlie"]
ages = [253035]

combined = list(zip(names, ages))
print(combined)  
[('Alice', 25), ('Bob', 30), ('Charlie', 35)]

2. 解压列表

将配对数据拆分成单独的列表。

combined = [('Alice'25), ('Bob'30), ('Charlie'35)]

names, ages = zip(*combined)
print(names)  
print(ages) 
('Alice', 'Bob', 'Charlie')
(25, 30, 35)

3. 同时迭代多个列表

用例:当您需要同时遍历多个列表时很有用。

subjects = ['Math''Science''English']
scores = [88, 92, 85]

for subject, score in zip(subjects, scores):
    print(f"{subject}: {score}")
Math: 88
Science: 92
English: 85

4.创建字典

用例:从两个列表创建字典:一个用于键,一个用于值。

keys = ['name''age''city']
values = ['Alice', 25, 'New York']

dictionary = dict(zip(keys, values))
print(dictionary)  
{'name': 'Alice', 'age': 25, 'city': 'New York'}

5. 合并多个列表

用例:将两个以上的列表压缩在一起。

list1 = [1, 2, 3]
list2 = ['a''b''c']
list3 = [True, False, True]

combined = list(zip(list1, list2, list3))
print(combined)  
[(1, 'a', True), (2, 'b', False), (3, 'c', True)]

6. 处理不同长度的可迭代对象

用例:当列表长度不同时,zip() 会在最短的列表处停止。

list1 = [1, 2, 3]
list2 = ['a''b']

combined = list(zip(list1, list2))
print(combined)  combined = list(zip(list1, list2))
print(combined)
[(1, 'a'), (2, 'b')]

7. 与range 一起使用

用例:将范围或序列压缩在一起。

numbers = range(1, 4)
letters = ['a''b''c']

result = list(zip(numbers, letters))
print(result)  
[(1, 'a'), (2, 'b'), (3, 'c')]

8. 比较两个列表的元素

用例:压缩两个列表来比较元素。

list1 = [1, 2, 3]
list2 = [1, 4, 3]

comparison = [a == b for a, b in zip(list1, list2)]
print(comparison)
[True, False, True]

9. 转置矩阵

用例:使用 zip() 转置二维矩阵的行和列。

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

transposed = list(zip(*matrix))
print(transposed) 
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

10. 使用 Enumerate 压缩

用例:使用索引配对的枚举列表进行压缩。

data = ['apple''banana''cherry']
indexed_data = list(zip(range(1, len(data) + 1), data))
print(indexed_data)
[(1, 'apple'), (2, 'banana'), (3, 'cherry')]

🏴‍☠️宝藏级🏴‍☠️ 原创公众号『数据STUDIO』内容超级硬核。公众号以Python为核心语言,垂直于数据科学领域,包括可戳👉 PythonMySQL数据分析数据可视化机器学习与数据挖掘爬虫 等,从入门到进阶!

长按👇关注- 数据STUDIO -设为星标,干货速递

数据STUDIO
点击领取《Python学习手册》,后台回复「福利」获取。『数据STUDIO』专注于数据科学原创文章分享,内容以 Python 为核心语言,涵盖机器学习、数据分析、可视化、MySQL等领域干货知识总结及实战项目。
 最新文章