我有一个词典列表:
my_list = [{'a':1}, {'a':2}, {'a':3}]
我想将字典中的所有a
值转换为浮点数。
什么是最蟒蛇的方式呢?
我可以在my_list =
右侧显示的单个表达式中执行此操作吗?
答案 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相反。