我正在尝试创建以下格式的命名元组列表
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))
有人可以解释发生了什么,以及是否有一种很好的(可能是一行)方式来做我想做的事。
答案 0 :(得分:3)
是:
l = [item(i, 0) for i in range(10)]
答案 1 :(得分:3)
这应该有效(太慢了 - 对NPE赞不绝口:p):
l = [item(position=i, state=0) for i in range(10)]