[英]Quick question on error in python list * a constant e.g. [a , b, c, d , e ] * x
[英]Creating a generator expression or list comprehension without variable “x in” (e.g. for range) in Python
在Python中,有没有办法在没有“ x in”变量的情况下编写此列表推导(因为它完全未使用)? 同样适用于生成器表达式。 我怀疑这种情况经常发生,但是我偶然发现了几次,并很想知道。
这是一个例子:
week_array = ['']*7
four_weeks = [week_array[:] for x in range(4)]
(也许,还有一种更优雅的方法来构建它吗?)
我不这么认为,并且x
没有伤害。 看到以这种方式未使用值时,常见的事情是使用下划线作为自由变量,例如:
[week_array[:] for _ in range(4)]
但这仅是约定,以表示free变量未使用。
否。两个构造都必须具有迭代器,即使其值未使用也是如此。
week_array = ['']*7
four_weeks = map(list, [week_array]*4)
这与其他答案类似,因为我使用map,但是我所做的使用的是您使用的相同功能。
four_weeks = map(lambda i: week_array[:], range(4))
同样,与使用_
相比,例如,它的主要优点是它可以被使用( _
被gettext经常使用),并且将其值更改为迭代器中的最后一项。 请参阅以下示例:
[x for x in range(4)]
assert x == 3, 'x should be equal to 3'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.