我正在努力找出一项任务。 问题设置是:
- 我有一个包含比率的列表(
unique_ratio = ['0.05', '0.98', '1.45']
- 我有一个字典,其中包含k:v作为ratio:count比率在上一个变量(
中出现的次数dict = {'0.05':'5', '0.32':'72', '0.98': '21'}
- 我想遍历字典并提取k:v以获取显示在unique_ratio列表中的比率。我想将这些k:v存储在新字典
中(frequencies = {})
我正在运行pytho 3.7 我已经尝试过使用for循环遍历字典,但是却无法提取k:v对。 我不确定是否应该在unique_ratios中测试我还是在dict中测试我
for i in dict.values():
frequencies = { k:v for k,v in comp_dict_count.items() if 'i' in
unique_ratios }
print(frequencies)
我尝试过的所有方法都导致语法错误。上面的代码导致频率字典为空。
答案 0 :(得分:4)
为此您需要一个字典理解。另外,为了获得更好的记忆,您可以使用集合检查成员资格,从而将查找复杂度降低到O(1)
:
unique_ratio = set(['0.05', '0.98', '1.45'])
d = {'0.05':'5', '0.32':'72', '0.98': '21'}
{k:v for k,v in d.items() if k in unique_ratio}
# {'0.05': '5', '0.98': '21'}