对“total”输出感兴趣,以反映与if语句中的条件匹配的新键的计数。如果您还能够提供关于如何显示If语句没有返回多少键的说明,这将很有帮助
d = {1:0.3246, 2:3.222, 3:3344, 2:0.3444, 5:1.09, 6:222.3}
for key in list(d)[:4]:
if key == 2:
continue
print(key, d[key])
keyresults = key
print('Total unique keys found:', keyresults)
预期结果:
1 0.3246
3 3344
5 1.09
Total unique keys found: 3
Total unique keys not found: 2
实际结果:
1 0.3246
3 3344
5 1.09
Total unique keys found: 5
您声明的词典是按顺序“分配”的。当使用新值重用键时,python interpeter会删除该键的旧值,并用新值替换它。因此,不能将相同的值映射到两个键。不过,defaultdict可以帮助您解决两个关键场景。在这种情况下,使用
set
获取唯一可识别的密钥并标记重复项。既然如此,哪一个是真实的,哪一个是重复的,完全可以解释了这里,默认dict的工厂是list,其中的值创建为list
看看您的代码示例,您似乎在筛选列表时遇到了麻烦。如果您真的要寻找重复的密钥,那么这将是一个漫长的搜索:)
您可以按如下方式筛选具有dict理解的dict:
filtered_dict = {k: v for k, v in d.items() if k != 2}
然后您可以调用
len()
来获取唯一键的数量。不可能在dict中使用双键相关问题 更多 >
编程相关推荐