📜  Python – 垂直分组值列表

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

Python – 垂直分组值列表

有时,在使用Python字典时,我们可能会遇到需要将所有列表值垂直分组的问题,即类似索引。这类问题可以在许多领域都有应用,例如 Web 开发。让我们讨论一些可以解决这个问题的方法。

方法 #1:使用列表理解 + zip() + *运算符
上述功能的组合可以用来解决这个问题。在此,我们使用 values() 执行提取值的任务,并且 zip() 用于在使用 *运算符解包后执行垂直分组。

# Python3 code to demonstrate working of 
# Vertical Grouping Value Lists
# Using list comprehension + zip() + * operator
  
# initializing dictionary
test_dict = {'Gfg': [4, 5, 7], 'is': [8, 9, 10], 'best' : [10, 12, 14]}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Vertical Grouping Value Lists
# Using list comprehension + zip() + * operator
res = [tuple(idx) for idx in zip(*test_dict.values())]
      
# printing result 
print("The grouped values : " + str(res)) 
输出 :
The original dictionary is : {'Gfg': [4, 5, 7], 'is': [8, 9, 10], 'best': [10, 12, 14]}
The grouped values : [(4, 8, 10), (5, 9, 12), (7, 10, 14)]

方法 #2:使用list() + zip() + values()
上述功能的组合可以用来解决这个问题。在此,我们执行与上述方法类似的任务,不同之处在于使用 list() 而不是列表推导。

# Python3 code to demonstrate working of 
# Vertical Grouping Value Lists
# Using list() + zip() + values()
  
# initializing dictionary
test_dict = {'Gfg': [4, 5, 7], 'is': [8, 9, 10], 'best' : [10, 12, 14]}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Vertical Grouping Value Lists
# Using list() + zip() + values()
res = list(zip(*test_dict.values()))
      
# printing result 
print("The grouped values : " + str(res)) 
输出 :
The original dictionary is : {'Gfg': [4, 5, 7], 'is': [8, 9, 10], 'best': [10, 12, 14]}
The grouped values : [(4, 8, 10), (5, 9, 12), (7, 10, 14)]