擅长:python、mysql、java
<p>您可以根据疾病发生的年份建立新词典,例如:</p>
<pre class="lang-py prettyprint-override"><code>epidemics = [{"Disease": "B", "year": "1980"},
{"Disease": "C", "year": "1975"},
{"Disease": "B", "year": "1996"},
{"Disease": "E", "year": "2000"},
{"Disease": "B", "year": "2020"}]
output = []
for ep in epidemics:
other_years = set(
other_ep['year'] for other_ep in epidemics if (
ep['Disease'] == other_ep['Disease'] and ep['year'] != other_ep['year']
)
)
output.append(
ep if not other_years else {**ep, 'occurredIn': list(other_years)}
)
print(output)
>>> {'Disease': 'B', 'year': '1980', 'occurredIn': ['2020', '1996']}
>>> {'Disease': 'C', 'year': '1975'}
>>> {'Disease': 'B', 'year': '1996', 'occurredIn': ['1980', '2020']}
>>> {'Disease': 'E', 'year': '2000'}
>>> {'Disease': 'B', 'year': '2020', 'occurredIn': ['1980', '1996']}
</code></pre>