Python编程小技巧,enumerate与内函数zip()遍历
使用enumerate()遍历序列
enumerate()函数可以在循环中同时获取元素的索引和值,这比使用普通的for循环更为高效和简洁。
示例:
python# 使用普通的for循环
lst = ['a', 'b', 'c']
for i in range(len(lst)):
print(i, lst[i])
# 使用enumerate
for index, value in enumerate(lst):
print(index, value)
技巧: enumerate()还可以指定索引的起始值。例如,如果你希望索引从1开始:
pythonfor index, value in enumerate(lst, start=1):
print(index, value)
内建函数zip(): 同时遍历多个序列
zip()是一个内建函数,它可以将多个可迭代对象(如列表、元组等)“打包”成元组,常用于同时遍历多个序列。
示例:
pythonnames = ['Alice', 'Bob', 'Charlie']
scores = [85, 90, 88]
# 使用zip同时遍历两个列表
for name, score in zip(names, scores):
print(name, score)
技巧: 如果需要处理多个列表的不同长度,zip()会根据最短的序列进行迭代。如果你希望处理所有元素,可以使用itertools.zip_longest()。
pythonfrom itertools import zip_longest
for name, score in zip_longest(names, scores, fillvalue='N/A'):
print(name, score)