siv*_*iva 25 python string int dictionary list
我有一个字典列表如下:
list = [ { 'a':'1' , 'b':'2' , 'c':'3' }, { 'd':'4' , 'e':'5' , 'f':'6' } ]
Run Code Online (Sandbox Code Playgroud)
如何将列表中每个字典的值转换为int/float?
所以它变成:
list = [ { 'a':1 , 'b':2 , 'c':3 }, { 'd':4 , 'e':5 , 'f':6 } ]
Run Code Online (Sandbox Code Playgroud)
谢谢.
Pow*_*eke 39
得到爱情列表的理解.
[dict([a, int(x)] for a, x in b.items()) for b in list]
Run Code Online (Sandbox Code Playgroud)
(注意:对于Python 2唯一代码,您可以使用"iteritems"而不是"items")
Jim*_*Jim 23
for sub in the_list:
for key in sub:
sub[key] = int(sub[key])
Run Code Online (Sandbox Code Playgroud)
给它一个转换为int而不是字符串.
如果这是您的确切格式,您可以浏览列表并修改字典。
for item in list_of_dicts:
for key, value in item.iteritems():
try:
item[key] = int(value)
except ValueError:
item[key] = float(value)
Run Code Online (Sandbox Code Playgroud)
如果你有一些更一般的东西,那么你将不得不对字典进行某种递归更新。检查元素是否是字典,如果是,则使用递归更新。如果它能够转换为浮点数或整数,则将其转换并修改字典中的值。没有内置函数,它可能非常丑陋(并且非pythonic,因为它通常需要调用isinstance)。
归档时间: |
|
查看次数: |
94116 次 |
最近记录: |