迭代动态创建的项目列表的首选方法是什么?

时间:2017-09-09 18:45:11

标签: python

基本上,我有一些变量,我想快速迭代它。

我看到三种可能性:

  • 使用列表
  • 使用元组
  • 使用隐式元组

分别为例:

for regex in [regex_mail, regex_name]:
    ...

for regex in (regex_mail, regex_name):
    ...

for regex in regex_mail, regex_name:
    ...

是否有任何参考表明我应该使用的语法?
我看了PEP8但没有说到它。

我知道这个问题可能看起来像#34;主要是基于意见的#34;但我正在寻找可能让我选择最适应的风格的具体论据(而且PEP20声明"应该有最好只有一种方法来做到这一点")。

1 个答案:

答案 0 :(得分:2)

首先,3种语法之间的任何性能差异都可以忽略不计。

然后,这个answer在描述列表和元组之间的区别方面做得很好:

  

元组是异构数据结构(即,它们的条目具有   不同的含义),而列表是同质的序列。元组   有结构,列表有订单。

通常的例子是GPS坐标的集合。使用元组分隔XYZ,使用列表分隔坐标:

[(48.77, 9.18, 400), (48.77, 9.185, 405), (48.77, 9.19, 410)]

根据这一理念,您的案例中应使用一个列表。