我正在遍历一个元组列表,并且只是想知道是否有一个较小的表示法可以执行以下操作:for tuple in list: (a,b,c,d,e) = tuple或同等学历for (a,b,c,d,e) in list: tuple = (a,b,c,d,e)这两个片段都使我能够访问每个项目以及整个项目的元组。但是,是否存在一种将这两行合并为for语句的符号?似乎像Python风格的功能,我以为它可能以某种形状或形式存在。
3 回答
慕码人2483693
TA贡献1860条经验 获得超9个赞
这可能是您可以使用的hack。也许有更好的方法,但这就是为什么它是hack。您的示例都很好,这就是我一定会做的。
>>> list1 = [(1, 2, 3, 4, 5)]
>>> for (a, b, c, d, e), tup in zip(list1, list1):
print a, b, c, d, e
print tup
1 2 3 4 5
(1, 2, 3, 4, 5)
另外,请勿将其tuple用作变量名。
墨色风雨
TA贡献1853条经验 获得超6个赞
Python并没有真正让您做到这一点的东西,因为在大多数情况下,您只需要以一种方式或另一种方式(作为元组或作为单独的元素)访问元组。无论如何,类似
for t in the_list:
a,b,c,d,e = t
看起来很干净,我无法想象有什么充分的理由希望它更简洁。这是我在极少数需要这种访问权限的情况下所做的事情。
如果你只需要得到的元组的一个或两个元素,或许说c与e而已,你不需要使用它们反复,你可以访问它们的t[2]和t[4]。这样可以减少代码中变量的数量,这可能会使代码更具可读性。
添加回答
举报
0/150
提交
取消
