我正在尝试创建以下形式的命名元组的列表
from collections import namedtuple
item = namedtuple('item', 'position state')
我想创建列表,使项目的位置字段与项目在列表中的位置相对应。
到目前为止,我已经尝试过:
l = [item(position=i, state=0)]*10
然而,这产生了10个项目,看起来像这样:
item(position=(0, item(position=0, state=0))
有人能解释一下发生了什么吗?如果有一种很好的(也许只有一行)方式来做我想做的事。
是:
l = [item(i, 0) for i in range(10)]
这应该能工作(太慢了-值得称赞的是NPE:p):
l = [item(position=i, state=0) for i in range(10)]