Python遍历defaultdict时如何获取对应键以完成点连接
解决字典遍历中同时获取键与值的问题
你之前的循环只遍历了字典的values(),所以只能拿到值列表,没办法获取对应的键。要处理值长度为1的情况,只需要把遍历方式改成items(),这样每次迭代都能同时拿到键和对应的值列表。
直接上修改后的代码:
for key, v in answers.items(): if len(v) > 1: T.add_edge(v[0], v[1]) else: # 处理值长度为1的情况:将键与值中的元素相连 T.add_edge(key, v[0])
举个例子,针对你字典里的19: [2]条目,遍历到它的时候,key就是19,v[0]是2,代码会自动执行T.add_edge(19, 2),完美实现你要的连接逻辑。
如果担心字典里有空列表的情况(虽然你的示例里没有),可以加个小判断让代码更健壮:
for key, v in answers.items(): if not v: # 跳过空列表 continue if len(v) > 1: T.add_edge(v[0], v[1]) else: T.add_edge(key, v[0])
内容的提问来源于stack exchange,提问作者ccc
相关产品推荐
相关产品推荐

