我有两个这样的字典
import requests
value = ['http://teste', 'http://cast4.audiostream.com.br:8651/status-json.xsl']
for item in value:
try:
response = requests.get(item)
print(response)
except:
print('Error')
我需要在Python中获得以下结果。有人可以帮忙吗
dict_1 = {'adbc.txt':'Text','union.pdf':'pdf', 'file1.py':'Python'}
dict_2 = {'adbc.txt':['a.txt','b.txt','c.txt'], 'file1.py':['test.py', 'modified.py']}
'adbc.txt'和'file1.py'键是两个词典中的通用键,我必须得到以上结果。
答案 0 :(得分:0)
您可以使用字典理解,例如:
dict_1 = {'adbc.txt':'Text','union.pdf':'pdf', 'file1.py':'Python'}
dict_2 = {'adbc.txt':['a.txt','b.txt','c.txt'], 'file1.py':['test.py', 'modified.py']}
result = {val: dict_1[key] for key, values_list in dict_2.items() for val in values_list}
print(result)
# {'a.txt': 'Text', 'b.txt': 'Text', 'c.txt': 'Text', 'test.py': 'Python', 'modified.py': 'Python'}
答案 1 :(得分:0)
由于dict_1中的键之一不在dict_2中,因此列表理解将非常麻烦。一个简单的循环:
result = {}
for key in dict_1.keys():
if key in dict_2.keys():
for file in dict_2[key]:
result[file]=dict_1[key]
else:
result[key]=dict_1[key]
print(result)
# {'a.txt': 'Text', 'b.txt': 'Text', 'c.txt': 'Text', 'union.pdf': 'pdf', 'test.py': 'Python', 'modified.py': 'Python'}