鉴于字典,
dict={"1":"2" , "2":"4"}
是否可以创建另一个字典,其中包含第一个字典值的列表作为值?
例如,在这种情况下,输出是
dictionary={"1":["4","2"],"2":["4"]}
因为在第一个词典中“1”是“2”的键,同时是“4”的键。所以我们在新词典中。
"1":["4","2"]
虽然"2"
是4
的关键,但这不是另一个值的关键。
我该如何实现?
答案 0 :(得分:0)
试试这个
>>> dict1={"1":"2" , "2":"4"}
>>> for i in dict1.keys():
appendvalue=[dict1.get(i)]
if dict1.get(i) in dict1.keys():
appendvalue.append(dict1.get(dict1.get(i)))
dict1[i]=appendvalue
>>> dict1
{'1': ['2', '4'], '2': ['4']}
>>>
答案 1 :(得分:0)
这是一个糟糕的问题,所以我只会给你一个跳跃点。
dict1={"1":"2" , "2":"4", "4": "3"}
def list_maker(dictionary, key, list):
if key not in dictionary:
return [key] + list[:-1]
else:
return list_maker(dictionary, dictionary[key], [key] + list)
print(list_maker(dict1, "1", []))
看看它给你带来了什么,并从那里开始工作
答案 2 :(得分:0)
您可以尝试这样的事情:
dict={"1":"2" , "2":"4"}
final_dict={}
for index,item in dict.items():
final_dict[index]=[item]
if item in dict.keys():
final_dict[index].extend([dict[item]])
print(final_dict)
输出:
{'2': ['4'], '1': ['2', '4']}