Python 3中如何用单循环遍历含双元素元组的嵌套生成器?
Python中遍历双元素元组序列的简洁方式
你要的这种操作不需要额外的特殊操作符,直接利用Python的序列解包特性就能实现,完全不用嵌套循环。
针对你给出的示例((1,2), (3,4)),要输出2和12(即每个元组内元素的乘积),代码可以这么写:
data = ((1, 2), (3, 4)) for x, y in data: print(x * y)
运行这段代码就会依次输出2和12。
原理很简单:当你迭代的对象中每个元素都是固定长度的可迭代对象(比如这里的双元素元组),可以直接在for循环的变量位置,用对应数量的变量来“拆分”每个子元素,把元组里的两个值分别赋值给x和y,之后就能直接使用这两个变量进行计算或其他操作。
这种写法比嵌套循环更简洁直观,和enumerate一样属于Python迭代语法的原生特性。
内容的提问来源于stack exchange,提问作者user1134991
相关产品推荐
相关产品推荐

