大多数pythonic方法更新相同词典列表中的字典值?

时间:2018-04-12 04:27:53

标签: python

我有一个词典列表:

my_list = [{'a':1}, {'a':2}, {'a':3}]

我想将字典中的所有a值转换为浮点数。 什么是最蟒蛇的方式呢?

我可以在my_list =右侧显示的单个表达式中执行此操作吗?

1 个答案:

答案 0 :(得分:4)

是的,你可以,但它会变得笨拙:

>>> my_list = [{'a':1}, {'a':2}, {'a':3}]
>>> [{k:float(v) if k == 'a' else v for k,v in d.items()} for d in my_list]
[{'a': 1.0}, {'a': 2.0}, {'a': 3.0}]

只需使用for循环。 for循环完全是Pythonic。努力将所有内容塞入单个表达式并不是Pythonic的意思。事实上,它通常与Pythonic相反。