所以我有一个名为templist
的列表列表,如下所示:
[['C0', 1, 1], ['NA', 4, 5], ['NA', 3, 7], ['C3', 9, 3], ['NA', 8, 4], ['NA', 7, 5], ['C6', 6, 6], ['NA', 5, 10]]
为上面的列表创建一个namedtuple的方式是:
from collections import namedtuple
Vertex = namedtuple('Vertex', ['NAME', 'x', 'y'])
vertices = [
Vertex('C0', 1, 1),
Vertex('NA', 4, 5),
Vertex('NA', 3, 7),
Vertex('C3', 9, 3),
Vertex('NA', 8, 4),
Vertex('NA', 7, 5),
Vertex('C6', 6, 6),
Vertex('NA', 5, 10)
]
上述命名元素在打印时必须如下所示
print vertices
[Vertex(NAME='C0', x=1, y=1), Vertex(NAME='NA', x=4, y=5), Vertex(NAME='NA', x=3, y=7), Vertex(NAME='C3', x=9, y=3), Vertex(NAME='NA', x=8, y=4), Vertex(NAME='NA', x=7, y=5), Vertex(NAME='C6', x=6, y=6), Vertex(NAME='NA', x=5, y=10)]
我需要它是这样的,因为我已经为此添加了另一个距离字段并将其转换为具有嵌套键值对的字典。 所以我绝对必须这样。(试图实施K-MEANS)
与此相关的其他答案,与此类似,[{3}}无法应用于此,因为这是一个列表列表。 编辑:它适用,您必须根据评论中的建议进行修改
我的问题是,如何以vertices
templist
的上述格式动态创建一个命名元组
换句话说,我想要做的就是提供templist
格式的列表列表(因为该列表是由另一个函数生成的,所以每次运行程序时它都会改变)并生成动态的以vertices