首页 > 解决方案 > 如何检查值中的所有字母

问题描述

例如,我在下面有一个字典:

a = {'0': {'a', 'c', 'd', 'e', 'b', 'f'},
     '1': {'c', 'b'},
     '2': {'a', 'd', 'e', 'b', 'g'}}

假设我的输入是'eb'。我想检查哪个键同时包含“e”和“b”。如何使我只返回 0 和 2 作为键,而不是 1 (因为 1 包含 b )?

因为我使用的是“if letter in v”,但这只检查每个字母('e',然后是'b')。如果它们在值中,如何检查整个字符串(所有字符)?

基本上我如何拆分字符串,但不以列表形式返回单个字符

标签: python-3.x

解决方案


使用set.issubset

[k for k, v in a.items() if set("eb").issubset(v)]

输出:

['0', '2']

推荐阅读