📜  Python – 提取数字字典值

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

Python – 提取数字字典值

有时,在使用Python字典时,我们可能会遇到一个问题,即只有当特定键索引是字符串形式的字典中的数值时,我们才需要提取。这在我们需要进行预处理的应用程序中可能是需要的。让我们讨论可以执行此任务的某些方式。

方法 #1:使用循环 + zip() + isdigit()
上述功能的组合可用于执行此任务。在此,我们使用 isdigit() 和 zip 检查数字字符串以执行键的累积。

# Python3 code to demonstrate working of 
# Extract Numerical Dictionary values
# Using loop + zip() + isdigit()
  
# initializing dictionary
test_dict = {"Gfg" : ["34", "45", 'geeks'], 'is' : ["875", None, "15"], 'best' : ["98", 'abc', '12k']}
  
# printing original dictionary
print("The original dictionary : " + str(test_dict))
  
# Extract Numerical Dictionary values
# Using loop + zip() + isdigit()
res = []
for a, b, c in zip(*test_dict.values()):
    if a.isdigit() :
        res.append((a, b, c))
      
# printing result 
print("The Numerical values : " + str(res)) 
输出 :

方法 #2:使用列表理解 + zip() + isdigit()
上述功能的组合可以用来解决这个问题。在此,我们执行与上述方法类似的任务,但使用列表理解作为简写。

# Python3 code to demonstrate working of 
# Extract Numerical Dictionary values
# Using list comprehension + zip() + isdigit()
  
# initializing dictionary
test_dict = {"Gfg" : ["34", "45", 'geeks'], 'is' : ["875", None, "15"], 'best' : ["98", 'abc', '12k']}
  
# printing original dictionary
print("The original dictionary : " + str(test_dict))
  
# Extract Numerical Dictionary values
# Using list comprehension + zip() + isdigit()
res = [(a, b, c) for a, b, c in zip(*test_dict.values()) if a.isdigit()]
      
# printing result 
print("The Numerical values : " + str(res)) 
输出 :