python - 在字典中添加元组作为值
问题描述
我有一个包含一些 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来检查元素是否存在。谢谢你。
解决方案
从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])])
推荐阅读
- python - 我需要处理带有推文的文本。使用正则表达式甚至普通的python代码
- airflow - Can you specify the number of threads for certain tasks in a DAG?
- google-apps-script - How to hide/unhide a named range of columns with Google script
- python - How does the FrameAnimation3d class work in Ursina (a message to pokepetter)
- sql - 在 Google BigQuery 中使用 TIME_DIFF 和多个条件
- asp.net - LoggedInTemplate 偶尔显示在登录页面,但我不希望它
- python - canvas.itemconfig 不适用于 time.sleep
- flutter - Flutter / Dart 中的通用反序列化
- python - 将数字增加百分之一的 Python 脚本
- python - 插值后极坐标图中的缺失点