1. 合并两个列表
用例:逐个元素合并两个列表。
names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]
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为核心语言,垂直于数据科学领域,包括可戳👉 Python|MySQL|数据分析|数据可视化|机器学习与数据挖掘|爬虫 等,从入门到进阶!
长按👇关注- 数据STUDIO -设为星标,干货速递