首页 > 解决方案 > 在字典中添加元组作为值

问题描述

我有一个包含一些 xml 信息的元组列表,并且想要创建一个字典,以便更快地访问。需要分配一个 id 作为我存储在列表的每个元组的第一项中的键,并将所有剩余信息作为值,但不确定这是否可能在 python 上。

我实际上必须生成列表的代码:

for node in root.findall('n:graph/n:node', ns):
        id = node.get('id')
        nodes.append((id, *(data.text for data in node if \
        (data.get('key') == keys[2] or data.get('key') == keys[3]))))

这让我得到以下输出:

节点 = [('id1', 'x', 'y'), ('id2', 'x', 'y') ... ]

我想要的是这样的:

节点 = {'id1' : ('x', 'y'), 'id2' : ('x', 'y') ... ]

这样我就可以在节点中使用 if id来检查元素是否存在。谢谢你。

标签: pythonlistdictionarytupleskey

解决方案


nodes字典而不是列表开始。

nodes = {}
for node in root.findall('n:graph/n:node', ns):
        id = node.get('id')
        nodes[id] = tuple([data.text for data in node if \
        (data.get('key') == keys[2] or data.get('key') == keys[3])])

推荐阅读