正在枚举命名元组

  • 本文关键字:元组 枚举 python
  • 更新时间 :
  • 英文 :


我正在尝试创建以下形式的命名元组的列表

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)]

最新更新