python zip和enumerate

Zip的用法

zip 和 enumerate 是实用的内置函数,可以在处理循环时用到。

zip 返回一个将多个可迭代对象组合成一个元组序列的迭代器。每个元组都包含所有可迭代对象中该位置的元素。例如,

list(zip(['a', 'b', 'c'], [1, 2, 3])) 将输出 [('a', 1), ('b', 2), ('c', 3)].

将两个列表组合到一起

letters = ['a','b','c']
nums = [1,2,3]

for letter,num in zip(letters,nums):
    print("{},{}".format(letter,num))

zip()不但可以将两个列表组合到一起,还可以使用星号拆封列表。

some_list = [('a', '1'), ('b', '2'), ('c', '3')]
letters,nums = zip(*some_list)

print(letters,nums)

输出:

('a', 'b', 'c') ('1', '2', '3')

将 cast 元组拆封成两个 names 和 heights 元组。

cast = (("Barney", 72), ("Robin", 68), ("Ted", 72), ("Lily", 66), ("Marshall", 76))

names,heights = zip(*cast)

print(names)
print(heights)
('Barney', 'Robin', 'Ted', 'Lily', 'Marshall')
(72, 68, 72, 66, 76)

Enumerate的用法

enumerate 是一个会返回元组迭代器的内置函数,这些元组包含列表的索引和值。当你需要在循环中获取可迭代对象的每个元素及其索引时,将经常用到该函数。

letters = ['a', 'b', 'c', 'd', 'e']
for i,letter in enumerate(letters):
    print(i,letter)
0 a
1 b
2 c
3 d
4 e
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
s = list(enumerate(seasons))
print(s)

输出

[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]

猜你喜欢

转载自blog.csdn.net/qq_35892623/article/details/81291825
今日推荐