簡體   English   中英

在Python中為一個字典鍵遍歷多個值

[英]Iterating through multiple values for one dict key in Python

這是我的python函數之一的摘錄:

d = {'ANIMAL' : ['CAT','DOG','FISH','HEDGEHOG']}
d_list = []
for key,value in d.iteritems():
    temp = [key, value]
    d_list.append(temp)

當我打印d_list它當前給我:

>>>print d_list
[['ANIMAL', ['CAT', 'DOG', 'FISH', 'HEDGEHOG']]]

我該如何重寫該函數,以便為我提供:

>>>print d_list
[['ANIMAL', 'CAT'],['ANIMAL', 'DOG'],['ANIMAL', 'FISH'],['ANIMAL', 'HEDGEHOG']]

兩個嵌套循環可以輕松做到這一點-

d = {'ANIMAL' : ['CAT','DOG','FISH','HEDGEHOG']}
d_list = []
for key, values in d.iteritems():
    for value in values:
        d_list.append([key, value])

使用列表理解-

d_list = [[k,v] for k, values in d.iteritems() for v in values]

對於python 3.x,應將iteritems更改為items

這就是我要做的。 我將直接遍歷鍵的值。

d = {'ANIMAL' : ['CAT','DOG','FISH','HEDGEHOG']}

d_list = []

for value in d['ANIMAL']:
    temp = ['ANIMAL',value]
    d_list.append(temp)

print (d_list)

結果:

[['ANIMAL', 'CAT'], ['ANIMAL', 'DOG'], ['ANIMAL', 'FISH'], ['ANIMAL', 'HEDGEHOG']]

您需要第二個循環:

d = {'ANIMAL' : ['CAT','DOG','FISH','HEDGEHOG']}
d_list = []

for key, values in d.iteritems():
    for value in values:
            temp_list=[key, value]
            d_list.append(temp)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM