様々な方法があると思います。
以下はtarget(残したいキー)リストを予め用意し
for文でexcluse(除外したいキー)リストを作ります。
for文で辞書のキーを一つずつ取り出し
取り出したキーがtargetリストにない場合
excluseに格納していき
最後にfor文で除外したいキーを.pop()
で一つずつ削除していく方法です。
python
1dic ={'Cumulative_number_for_14_days_of_COVID-19_cases_per_100000': '5.36101527',
2 'cases': '0',
3 'continentExp': 'Asia',
4 'countriesAndTerritories': 'Japan',
5 'countryterritoryCode': 'JPN',
6 'dateRep': '21/09/2020',
7 'day': '21',
8 'deaths': '0',
9 'geoId': 'JP',
10 'month': '9',
11 'popData2019': '126860299',
12 'year': '2020'}
13
14
15target = ['countriesAndTerritories', 'deaths', 'dateRep']
16excluse = []
17for key in dic.keys():
18 if key not in target:
19 excluse.append(key)
20
21for exc in excluse:
22 dic.pop(exc)
23
24print(dic)
25
以下はfor文で辞書のキーを一つずつ取り出していき
target(残したいキー)リスト内にキーがあった場合には
新たな辞書にキーとバリューを追加していき
最後に、dicに新たな辞書を代入するといった方法です。
python
1dic ={'Cumulative_number_for_14_days_of_COVID-19_cases_per_100000': '5.36101527',
2 'cases': '0',
3 'continentExp': 'Asia',
4 'countriesAndTerritories': 'Japan',
5 'countryterritoryCode': 'JPN',
6 'dateRep': '21/09/2020',
7 'day': '21',
8 'deaths': '0',
9 'geoId': 'JP',
10 'month': '9',
11 'popData2019': '126860299',
12 'year': '2020'}
13
14
15target = ['countriesAndTerritories', 'deaths', 'dateRep']
16tmp = {}
17for key, value in dic.items():
18 if key in excluse:
19 tmp[key] = value
20
21dic = tmp
22print(dic)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。