我有字典:
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
答案 0 :(得分:2)
您很亲密:
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]
答案 1 :(得分:1)
使用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
答案 2 :(得分:0)
您已经遍历了键,现在只需要遍历值的元素:
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