📜  Python|遍历值列表字典

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

Python|遍历值列表字典

在使用字典时,我们可能需要遍历列表,这些列表位于字典的键中。此类问题可能发生在 Web 开发领域。让我们讨论一些可以解决这个问题的方法。

方法#1:使用列表推导
列表推导可用于执行此特定任务。它只是传统嵌套循环的简写。我们迭代每个键的列表并存储结果。

# Python3 code to demonstrate working of
# Iterating through value lists dictionary
# Using list comprehension
  
# Initialize dictionary
test_dict = {'gfg' : [1, 2], 'is' : [4, 5], 'best' : [7, 8]}
  
# printing original dictionary
print("The original dictionary : " +  str(test_dict))
  
# Using list comprehension
# Iterating through value lists dictionary
res = [[i for i in test_dict[x]] for x in test_dict.keys()]
      
# printing result 
print("The list values of keys are : " + str(res))
输出 :

方法#2:使用from_iterable() + product() + items()
上述功能的组合可用于执行此特定任务。 from_iterable()可用于减少内部循环,而items函数用于提取字典中的键值对。

# Python3 code to demonstrate working of
# Iterating through value lists dictionary
# Using from_iterable() + product() + items()
import itertools
  
# Initialize dictionary
test_dict = {'gfg' : [1, 2], 'is' : [4, 5], 'best' : [7, 8]}
  
# printing original dictionary
print("The original dictionary : " +  str(test_dict))
  
# Iterating through value lists dictionary
# Using from_iterable() + product() + items()
res = []
for key, value in (
        itertools.chain.from_iterable(
            [itertools.product((k, ), v) for k, v in test_dict.items()])):
                res.append(value)
      
# printing result 
print("The list values of keys are : " + str(res))
输出 :