Python 生成包含理解的常量列表?
我想知道如何生成一个包含python理解的常量列表 例如,如果我想生成一个包含100个数字5s的列表,我该怎么做 我很难理解这一点,因为我跟踪列表中元素数量的方式与我希望输出的方式不同。您可以执行以下操作:Python 生成包含理解的常量列表?,python,list,Python,List,我想知道如何生成一个包含python理解的常量列表 例如,如果我想生成一个包含100个数字5s的列表,我该怎么做 我很难理解这一点,因为我跟踪列表中元素数量的方式与我希望输出的方式不同。您可以执行以下操作: my_list = [5 for _ in xrange(100)] 您还可以执行以下操作: import itertools my_list = list(itertools.repeat(5, 100)) 对于不可变值,只需将列表相乘: count = 100 [5] * count
my_list = [5 for _ in xrange(100)]
您还可以执行以下操作:
import itertools
my_list = list(itertools.repeat(5, 100))
对于不可变值,只需将列表相乘:
count = 100
[5] * count
对于可变值,请使用列表:
count = 100
[{'foo': 5} for _ in xrange(count)]
这里的
名称只是一个惯例;这意味着我们忽略了循环本身中的循环目标名称。[5]*100
是不可变的简单选项。谢谢Simeon!那么“u”到底是如何工作的呢?它只是一个遍历范围的计数器吗?@goldisfine它是一个变量,但没有给它命名。我明白了,我对列表的理解比常数乘法要复杂一点,但是第二个例子中的原理奏效了!