Ali*_*ice 3 python dictionary nested function filter
所以我有这本词典:
Filme = {'1': {'Titel': 20, 'Jahr': 2, 'Wertung': 6, 'Preis': 50, 'Schauspielern': ['a', 'b', 'c']},
'2': {'Titel': 30, 'Jahr': 3, 'Wertung': 7, 'Preis': 70, 'Schauspielern': ['']},
'3': {'Titel': 10, 'Jahr': 2, 'Wertung': 6, 'Preis': 10, 'Schauspielern': ['']},
'4': {'Titel': 5, 'Jahr': 3, 'Wertung': 9, 'Preis': 20, 'Schauspielern': ['']},
'5': {'Titel': 8, 'Jahr': 3, 'Wertung': 10, 'Preis': 100, 'Schauspielern': ['']},
'6': {'Titel': 20, 'Jahr': 2, 'Wertung': 6, 'Preis': 10, 'Schauspielern': ['']},
'7': {'Titel': 16, 'Jahr': 3, 'Wertung': 9, 'Preis': 20, 'Schauspielern': ['']},
'8': {'Titel': 20, 'Jahr': 2, 'Wertung': 6, 'Preis': 10, 'Schauspielern': ['']},
'9': {'Titel': 90, 'Jahr': 3, 'Wertung': 9, 'Preis': 20, 'Schauspielern': ['']},
'10': {'Titel': 10, 'Jahr': 2, 'Wertung': 6, 'Preis': 10, 'Schauspielern': ['']}
}
Run Code Online (Sandbox Code Playgroud)
我必须根据Wertung(评级)对其进行过滤,只显示具有>=我选择的评级的电影。问题是,我是 Python 编程的初学者,我不知道该怎么做。所以如果Wertung == 7,我希望它打印这个
Filme = {'2': {'Titel': 30, 'Jahr': 3, 'Wertung': 7, 'Preis': 70, 'Schauspielern': ['']},
'4': {'Titel': 5, 'Jahr': 3, 'Wertung': 9, 'Preis': 20, 'Schauspielern': ['']},
'5': {'Titel': 8, 'Jahr': 3, 'Wertung': 10, 'Preis': 100, 'Schauspielern': ['']},
'7': {'Titel': 16, 'Jahr': 3, 'Wertung': 9, 'Preis': 20, 'Schauspielern': ['']},
'9': {'Titel': 90, 'Jahr': 3, 'Wertung': 9, 'Preis': 20, 'Schauspielern': ['']},
}
Run Code Online (Sandbox Code Playgroud)
您可以只对以下内容使用字典理解Filme.items():
In [2]: {k:v for k,v in Filme.items() if v['Wertung'] >= 7}
Out[2]:
{'2': {'Jahr': 3,
'Preis': 70,
'Schauspielern': [''],
'Titel': 30,
'Wertung': 7},
'4': {'Jahr': 3,
'Preis': 20,
'Schauspielern': [''],
'Titel': 5,
'Wertung': 9},
'5': {'Jahr': 3,
'Preis': 100,
'Schauspielern': [''],
'Titel': 8,
'Wertung': 10},
'7': {'Jahr': 3,
'Preis': 20,
'Schauspielern': [''],
'Titel': 16,
'Wertung': 9},
'9': {'Jahr': 3,
'Preis': 20,
'Schauspielern': [''],
'Titel': 90,
'Wertung': 9}}
Run Code Online (Sandbox Code Playgroud)
这等效于以下内容:
new_dict = {}
for k,v in Filme.items():
if v['Wertung'] >= 7:
new_dict[k] = v
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2651 次 |
| 最近记录: |