簡體   English   中英

如何使用for循環打印字典中包含的列表的元素

[英]How do I print elements of a list contained in a dictionary using a for loop

我有一本字典:

FFA = {'House': ['0.511', '0.374', 10], 'Chair': ['0.704', '0.381', 10], 'Shoe': ['0.922', '0.465', 10], 'Bottle': ['0.764', '0.348', 10], 'Face': ['1.084', '0.373', 10]}

我想在for循環中打印某些元素:

print "ROI", "Cope", "Mean", "Stddev", "Nsamples"
for k in FFA:
    print "FFA", k, elem[0], elem[1], elem[2]

那是我的輸出:

 ROI Cope Mean Stddev Nsamples
FFA House 1.084 0.373 10
FFA Chair 1.084 0.373 10
FFA Shoe 1.084 0.373 10
FFA Bottle 1.084 0.373 10
FFA Face 1.084 0.373 10

但是,我的代碼太錯了,我找不到在dic中所有鍵上進行迭代的方法,因此無法正確打印出值。

我希望我的輸出是:

ROI Cope Mean Stddev Nsamples
FFA House 0.511 0.374 10
FFA Chair 0.704 0.381 10
FFA Shoe  0.922 0.465 10
FFA Bottle 0.764 0.348 10
FFA Face 1.084 0.373 10

您接近:

print "ROI", "Cope", "Mean", "Stddev", "Nsamples"
for k in FFA:
    elem = FFA[k]
    print "FFA", k, elem[0], elem[1], elem[2]

或直接:

print "ROI", "Cope", "Mean", "Stddev", "Nsamples"
for k in FFA:
    print "FFA", k, FFA[k][0], FFA[k][1], FFA[k][2]

使用items()遍歷鍵和值。 由於您具有多個值,因此可以使用嵌套的for循環遍歷多個值來遍歷這些值。 對於python 2.x,它將print "FFA", k, values,

print "ROI", "Cope", "Mean", "Stddev", "Nsamples" # Header

for k, v in FFA.items():
    # print ("FFA", k,  end=" ") # For python 3.x
    print "FFA", k,
    for values in v:
        print values,
        # print (values, end=" ") # For python 3.x
    print # To get to print to the new line
    # print ()  # For python 3.x

ROI Cope Mean Stddev Nsamples
FFA House 0.511 0.374 10 
FFA Chair 0.704 0.381 10 
FFA Shoe 0.922 0.465 10 
FFA Bottle 0.764 0.348 10 
FFA Face 1.084 0.373 10 

您已經遍歷了鍵,現在只需要遍歷值的元素:

FFA = {'House': ['0.511', '0.374', 10], 
       'Chair': ['0.704', '0.381', 10], 
       'Shoe': ['0.922', '0.465', 10], 
       'Bottle': ['0.764', '0.348', 10], 
      'Face': ['1.084', '0.373', 10]} 

print "ROI", "Cope", "Mean", "Stddev", "Nsamples"


for k in FFA:      # loop over keys in dict 
    print "FFA", k,     # , at end == no newline
    for elem in FFA[k]: # loop over values in list of key
        print elem,         # , at end == no newline
    print               # now a newline

輸出:

ROI Cope Mean Stddev Nsamples
FFA House 0.511 0.374 10
FFA Chair 0.704 0.381 10
FFA Shoe 0.922 0.465 10
FFA Bottle 0.764 0.348 10

暫無
暫無

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

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