用两种表示法遍历元组列表

我正在遍历一个元组列表,并且只是想知道是否有一个较小的表示法可以执行以下操作:


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风格的功能,我以为它可能以某种形状或形式存在。


萧十郎
浏览 261回答 3
3回答

红糖糍粑

pythonic方法是您提到的第一个选项:for tup in list:    a,b,c,d,e = tup

慕码人2483693

这可能是您可以使用的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 tup1 2 3 4 5(1, 2, 3, 4, 5)另外,请勿将其tuple用作变量名。

墨色风雨

Python并没有真正让您做到这一点的东西,因为在大多数情况下,您只需要以一种方式或另一种方式(作为元组或作为单独的元素)访问元组。无论如何,类似for t in the_list:    a,b,c,d,e = t看起来很干净,我无法想象有什么充分的理由希望它更简洁。这是我在极少数需要这种访问权限的情况下所做的事情。如果你只需要得到的元组的一个或两个元素,或许说c与e而已,你不需要使用它们反复,你可以访问它们的t[2]和t[4]。这样可以减少代码中变量的数量,这可能会使代码更具可读性。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python