快速检查python列表理解

时间:2011-11-08 08:39:23

标签: python list-comprehension

我目前使用以下表达式生成列表(T和no_jobs是整数):

for i in xrange(no_jobs):
    row = row + T * [i]

我想出的将其转换为列表理解陈述的第一件事是:

[T*[i] for i in xrange(no_jobs)]

但这显然创建了一个嵌套列表,这不是我正在寻找的。我所有的其他想法似乎都很笨拙,所以如果有人用pythonic和优雅的方式创建这些类型的列表,我将感激不尽。

2 个答案:

答案 0 :(得分:6)

嵌套循环。

[i for i in xrange(no_jobs) for x in xrange(T)]

答案 1 :(得分:0)

  

但这显然会创建一个嵌套列表,而不是我正在寻找的。

所以只是压扁结果。列表添加是串联,因此我们可以通过“求和”将所有列表放在一起(将空列表作为“累加器”)。

sum((T*[i] for i in xrange(no_jobs)), [])