📌  相关文章
📜  Python - 提取具有特定值类型的键

📅  最后修改于: 2022-05-13 01:54:52.179000             🧑  作者: Mango

Python - 提取具有特定值类型的键

给定一个字典,提取所有键,其值属于给定类型。

方法 #1:使用循环 + isinstance()  

在这里,我们使用isinstance()检查数据类型,并使用循环迭代所有值。

Python3
# Python3 code to demonstrate working of
# Extract Keys with specific Value Type
# Using loop + isinstance()
  
# initializing dictionary
test_dict = {'gfg': 2, 'is': 'hello', 'best': 2, 'for': {'1': 3}, 'geeks': 4}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing type
targ_type = int
  
res = []
for key, val in test_dict.items():
  
    # checking for values datatype
    if isinstance(val, targ_type):
        res.append(key)
  
# printing result
print("The extracted keys : " + str(res))


Python3
# Python3 code to demonstrate working of
# Extract Keys with specific Value Type
# Using list comprehension + isinstance()
  
# initializing dictionary
test_dict = {'gfg': 2, 'is': 'hello', 'best': 2, 'for': {'1': 3}, 'geeks': 4}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing type
targ_type = int
  
# one-liner to solve the problem
res = [key for key, val in test_dict.items() if isinstance(val, targ_type)]
  
# printing result
print("The extracted keys : " + str(res))


输出:

方法 #2:使用列表理解+ isinstance()

与上述方法类似,使用列表理解来解决此问题的单行速记。

蟒蛇3

# Python3 code to demonstrate working of
# Extract Keys with specific Value Type
# Using list comprehension + isinstance()
  
# initializing dictionary
test_dict = {'gfg': 2, 'is': 'hello', 'best': 2, 'for': {'1': 3}, 'geeks': 4}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing type
targ_type = int
  
# one-liner to solve the problem
res = [key for key, val in test_dict.items() if isinstance(val, targ_type)]
  
# printing result
print("The extracted keys : " + str(res))

输出: