如何在Python中遍历元组列表的第二个元素?
实现方法
当然有更简便的写法,不用每次在循环里手动取tuple[1],直接让循环变量拿到每个元组的第二个元素,有两种常用方式:
方式一:生成器表达式
直接在for循环的迭代器部分生成目标元素,代码如下:
tuple_list = [(0, 1), (0, 3), (4, 3)] for item in (t[1] for t in tuple_list): # 这里item依次是1、3、3,直接使用即可 print(item)
生成器表达式不会一次性生成所有元素,内存占用更低,适合处理大列表。
方式二:使用map+itemgetter
如果喜欢更简洁的写法,可以借助operator模块的itemgetter,配合map函数提取元素:
from operator import itemgetter tuple_list = [(0, 1), (0, 3), (4, 3)] for item in map(itemgetter(1), tuple_list): print(item)
itemgetter(1)会返回一个函数,专门提取序列的第二个元素,map会把这个函数应用到列表的每个元组上,最终迭代器输出的就是你要的目标值。
这两种写法都能实现你期望的效果,不用再额外赋值一步。
内容的提问来源于stack exchange,提问作者Elia Giaccardi Old
相关产品推荐
相关产品推荐

