Python 如何将字典值转换为字典集
我正试图解决一些图形问题,但我半途而废。我有一个集的python字典,但我想将原始字典值(即集合)转换成一个字典,这样集合中的每个值都将成为另一个值为1的键。我想这就是所谓的嵌套字典——我不确定 我循环了Python 如何将字典值转换为字典集,python,python-3.x,dictionary,set,Python,Python 3.x,Dictionary,Set,我正试图解决一些图形问题,但我半途而废。我有一个集的python字典,但我想将原始字典值(即集合)转换成一个字典,这样集合中的每个值都将成为另一个值为1的键。我想这就是所谓的嵌套字典——我不确定 我循环了dict.values(),分配给变量xxx,并使用dict.fromkeys(xxx,1)代码,它工作了,但我无法将结果集成回原始字典 下面是一个字典示例: d = {'35': {'1', '37', '36', '71'}, '37': {'1', '35'}} 我希望输出看起来像:
dict.values()
,分配给变量xxx,并使用dict.fromkeys(xxx,1)
代码,它工作了,但我无法将结果集成回原始字典
下面是一个字典示例:
d = {'35': {'1', '37', '36', '71'}, '37': {'1', '35'}}
我希望输出看起来像:
d = {35: {1 : 1, 37 : 1, 36 : 1, 71 : 1}, 37: {1 : 1, 35 : 1}}
如果您注意到,原始字典值已成为它们自己的字典,撇号(“”)已禁用
请有人帮我一下,或者给我指点。谢谢你你只需要一点列表理解:
def转换(输入):
返回{key:{val:1代表val中的val}返回键,val代表input.items()中的val}
打印(转换({'35':{'1','37','36','71'},'37':{'1','35'}))
# {'35': {'1': 1, '37': 1, '36': 1, '71': 1}, '37': {'1': 1, '35': 1}}
你就快到了。只需使用int
包装键和值即可:
{int(k):dict.fromkeys(map(int, v), 1) for k, v in d.items()}
输出:
{35: {37: 1, 71: 1, 36: 1, 1: 1}, 37: {35: 1, 1: 1}}
繁荣谢谢。我改为int(key)和int(val),将字符串项转换为整数。感谢你的宝贵贡献。