不使用for循环检查是否存在数字

时间:2017-02-21 17:24:22

标签: python python-3.x dictionary for-loop max

我有一本字典:

chars_dict = {'a' : 1, 'c': 2, 'e': 4, 'h': 3, 's': 1}

这个字典只有字符及其计数,最小值为1,最大值取决于字符串中的字符。

现在,我想在不使用for循环的情况下检查是否存在计数 2或更高 。为实现这一点,我颠倒了上面的字典。现在字典变成了,

 rev_chars_dict = {1: ['a', 's'], 2: 'c', 4: 'e', 3: 'h'}

但是,如何在不使用for循环的情况下检查密钥的存在(此处为数字2或更大)?有没有pythonic方式吗?

我想要像,

if >=2 in rev_chars_dict:
    return True
else:
    return False

2 个答案:

答案 0 :(得分:6)

为什么不使用for循环?这是家庭作业问题吗?

max(d.values()) >= 2

其中d是字典。

答案 1 :(得分:1)

找到1以上的键:

[key for key, value in chars_dict.items() if value >1]

进行简单的测试:

len([key for key, value in chars_dict.items() if value >1])>0