迭代PYTHON字典列表中的值
我有一份字典清单。每个都有一个键和一个3值列表。每个值都是一个ADC读数,我有一个函数来获取并输出转换后的值 但是,我想获取每个值并使用此函数进行转换迭代PYTHON字典列表中的值,python,loops,dictionary,iteration,Python,Loops,Dictionary,Iteration,我有一份字典清单。每个都有一个键和一个3值列表。每个值都是一个ADC读数,我有一个函数来获取并输出转换后的值 但是,我想获取每个值并使用此函数进行转换 for value in my_list[0].itervalues(): print value 这会将值打印为一个列表,但我希望分别获取每个值并将其传递给要转换的函数 for value in my_list: print value 这把每本字典都打印出来 我不知道如何将这些循环嵌套在一起,以获取各个值,并将转换后的值
for value in my_list[0].itervalues():
print value
这会将值打印为一个列表,但我希望分别获取每个值并将其传递给要转换的函数
for value in my_list:
print value
这把每本字典都打印出来
我不知道如何将这些循环嵌套在一起,以获取各个值,并将转换后的值附加到当前字典列表中,或者生成一个单独的字典列表。我想追加会更有效。您可以使用函数将函数应用于所有值项:
for value in my_list[0].itervalues():
print map(your_func,value)
如果你想创建一本新词典,你可以在dict理解中完成:
new_dict={k:map(your_func,val) for k, val in your_dict.iteritems()}
>>> [my_func(i,j) for i,j in l]
[3, 7, 11]
此外,您可能会注意到,这取决于函数签名和值,例如,如果函数接受多个参数,则不能在此处使用map
例如:
>>> def my_func(a,b):
... return a+b
...
>>> l=[(1,2),(3,4),(5,6)]
>>> map(my_func,l)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: my_func() takes exactly 2 arguments (1 given)
这是可行的,但要在每一本字典中添加新的值?@cc6g11在这种情况下,您可以使用dict理解!检查编辑!如果我需要传递两个参数呢。就像前面的字典中的值一样,但也包括每个字典的键。@Kasra