检查多个键是否在Python中的字典中

在 Python 中检查字典中是否有多个键

Check if multiple Keys are in a Dictionary in Python

检查字典中是否有多个键:

  1. 使用生成器表达式迭代包含键的元组。
  2. 使用in运算符检查每个键是否在字典中。
  3. 将结果传递给all()函数。
主程序
my_dict = { 'name': 'Alice', 'country': 'Austria', 'age': 30 } # ✅ check if multiple keys in dict using all() if all(key in my_dict for key in ("name", "country")): # 👇️ this runs print('multiple keys are in the dictionary') # ---------------------------------------------- # ✅ check if multiple keys in dict using set object if {'name', 'country'} <= my_dict.keys(): # 👇️ this runs print('multiple keys are in the dictionary')

我们将要测试的多个键包装在一个
tuple, and used a generator expression to iterate over the 元组中。

生成器表达式用于对每个元素执行某些操作或选择满足条件的元素子集。

在每次迭代中,我们使用in运算符检查字典中是否存在当前键。

in 运算符
测试成员资格

例如,如果是 的成员,则
k in d计算为 ,否则计算为TruekdFalse

与字典一起使用时,运算符会检查对象中是否存在指定的键dict
主程序
my_dict = { 'name': 'Alice', 'country': 'Austria', 'age': 30 } print('name' in my_dict) # 👉️ True print('another' in my_dict) # 👉️ False

最后一步是将generator对象传递给all()函数。

主程序
my_dict = { 'name': 'Alice', 'country': 'Austria', 'age': 30 } if all(key in my_dict for key in ("name", "country")): # 👇️ this runs print('multiple keys are in the dictionary')

all()内置函数将可迭代对象作为参数,如果True可迭代对象的所有元素都为真(或可迭代对象为空)则返回。

如果字典中存在所有键,则该all()函数将返回True,否则返回False

主程序
my_dict = { 'name': 'Alice', 'country': 'Austria', 'age': 30 } # 👇️ True print(all(key in my_dict for key in ('name', 'country'))) # 👇️ False print(all(key in my_dict for key in ('another', 'country')))

或者,您可以使用一个set对象。

Check if multiple Keys are in a Dictionary using set #

To check if multiple keys are in a dictionary:

  1. Wrap the keys in a set object.
  2. Use the dict.keys() method to get a view of the dictionary’s keys.
  3. Check if the multiple keys are present in the view of the dictionary’s keys.
main.py
my_dict = { 'name': 'Alice', 'country': 'Austria', 'age': 30 } if {'name', 'country'} <= my_dict.keys(): # 👇️ this runs print('multiple keys are in the dictionary')

We used curly braces to add the keys as elements to a set object.

Set objects are an unordered collection of unique elements

The benefit of using a set is that we can check if the elements in the set are
a subset of another sequence, e.g. a view of the dictionary’s keys.

The dict.keys
method returns a new view of the dictionary’s keys.

main.py
my_dict = { 'name': 'Alice', 'country': 'Austria', 'age': 30 } # 👇️ dict_keys(['name', 'country', 'age']) print(my_dict.keys())

小于或等于符号<=检查set对象是否是字典键视图的子集。

主程序
my_dict = { 'name': 'Alice', 'country': 'Austria', 'age': 30 } if {'name', 'country'} <= my_dict.keys(): # 👇️ this runs print('multiple keys are in the dictionary')

using 的替代方法<=是使用该set.issubset()方法。

主程序
my_dict = { 'name': 'Alice', 'country': 'Austria', 'age': 30 } if {'name', 'country'}.issubset(my_dict.keys()): # 👇️ this runs print('multiple keys are in the dictionary')

set.issubset方法测试的

每个元素是否
set在提供的序列中。