📜  Python|在字典列表中分离键的值

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

Python|在字典列表中分离键的值

在使用字典时,我们可能会遇到需要将所有相似键的值隔离在一起的问题。在使用数据库时,这种问题可能发生在 Web 开发领域。让我们讨论一些可以解决这个问题的方法。

方法#1:使用生成器表达式
生成器表达式可用于执行此特定任务。在这种情况下,我们一次取一个键并检查所有字典中的匹配键。缺点是我们需要提前知道密钥。

# Python3 code to demonstrate working of
# Segregating key's value in list of dictionaries
# Using generator expression
  
# Initialize list
test_list = [{'gfg' : 1, 'best' : 2}, {'gfg' : 4, 'best': 5}]
  
# printing original list
print("The original list : " +  str(test_list))
  
# Using generator expression
# Segregating key's value in list of dictionaries
res = [tuple(sub["gfg"] for sub in test_list),
      tuple(sub["best"] for sub in test_list)]
      
# printing result 
print("Segregated values of keys are : " + str(res))
输出 :

方法 #2:使用zip() + map() + values()
上述功能的组合也可以在一行中完成类似的任务。在此, values()用于提取值, map()用于将各个键相互链接,最后zip()将它们对应的值连接到单个元组。

# Python3 code to demonstrate working of
# Segregating key's value in list of dictionaries
# Using zip() + map() + values()
  
# Initialize list
test_list = [{'gfg' : 1, 'best' : 2}, {'gfg' : 4, 'best': 5}]
  
# printing original list
print("The original list : " +  str(test_list))
  
# Using zip() + map() + values()
# Segregating key's value in list of dictionaries
res = list(zip(*map(dict.values, test_list)))
      
# printing result 
print("Segregated values of keys are : " + str(res))
输出 :