Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 枚举namedtuple_Python - Fatal编程技术网

Python 枚举namedtuple

Python 枚举namedtuple,python,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)) 有人能解释一下

我正在尝试创建一个以下形式的命名偶列表

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的荣誉):

这应该有效(速度太慢-NPE:p的荣誉):


在这种情况下,
i
是什么?@fourthey只是一个数字在这种情况下,
i
是什么?@fourthey只是一个数字在我尝试的过程中发生了什么:为什么我得到了那个输出?因为乘法(*)意味着复制/重复它就像这样做:
[项目(0,0)]
我尝试的结果是什么:为什么我会得到那个输出?因为乘法(*)意味着复制/重复,就像这样:
[范围(10)内I的项(0,0)]
l = [item(position=i, state=0) for i in range(10)]