为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

萧十郎 2021-03-13 10:19:24
我正在遍历一个元组列表,并且只是想知道是否有一个较小的表示法可以执行以下操作: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 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

pythonic方法是您提到的第一个选项:


for tup in list:

    a,b,c,d,e = tup


查看完整回答
反对 回复 2021-03-31
?
慕码人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用作变量名。


查看完整回答
反对 回复 2021-03-31
?
墨色风雨

TA贡献1853条经验 获得超6个赞

Python并没有真正让您做到这一点的东西,因为在大多数情况下,您只需要以一种方式或另一种方式(作为元组或作为单独的元素)访问元组。无论如何,类似


for t in the_list:

    a,b,c,d,e = t

看起来很干净,我无法想象有什么充分的理由希望它更简洁。这是我在极少数需要这种访问权限的情况下所做的事情。


如果你只需要得到的元组的一个或两个元素,或许说c与e而已,你不需要使用它们反复,你可以访问它们的t[2]和t[4]。这样可以减少代码中变量的数量,这可能会使代码更具可读性。


查看完整回答
反对 回复 2021-03-31
  • 3 回答
  • 0 关注
  • 260 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号