我试图循环遍历一组字典,比较它们之间的每个值,然后将结果附加到字典中
例如,如果我们有以下数组:
epidemics = [{"Disease": "B", "year": "1980"},
{"Disease": "C", "year": "1975"},
{"Disease": "B", "year": "1996"},
{"Disease": "E", "year": "2000"},
{"Disease": "B", "year": "2020"}]
如果同一疾病的流行在其他年份也发生过,那么我试图实现的结果是:
epidemics = [{"Disease": "B", "year": "1980", "occurredIn": ["1996", "2020"]},
{"Disease": "C", "year": "1975"},
{"Disease": "B", "year": "1996", "occurredIn": ["1980", "2020"]},
{"Disease": "E", "year": "2000"},
{"Disease": "B", "year": "2020", "occurredIn": ["1980", "1996"]}]
这就是我到目前为止所得到的:
for index, a in enumerate(epidemics):
v_b = []
for b in epidemics[index+1:]:
if a['Disease'] == b['Disease']:
v_b.append(b["year"])
a['occurredIn'] = v_b
它印着我:
[{'Disease': 'B', 'year': '1980', 'occurredIn': ['1996', '2020']},
{'Disease': 'C', 'year': '1975'},
{'Disease': 'B', 'year': '1996', 'occurredIn': ['2020']},
{'Disease': 'E', 'year': '2000'},
{'Disease': 'B', 'year': '2020'}]
提前谢谢
你可以建立一个临时字典,为每种疾病建立一组年份。然后使用此词典改革
epidemics
列表:输出:
您可以根据疾病发生的年份建立新词典,例如:
相关问题 更多 >
编程相关推荐