📜  Python|字典值中的类型转换

📅  最后修改于: 2022-05-13 01:55:04.100000             🧑  作者: Mango

Python|字典值中的类型转换

常规类型转换的问题非常普遍,可以使用Python库的内置转换器轻松完成。但有时,我们可能需要在更复杂的场景中使用相同的功能。用于字典列表的键。让我们讨论一些可以实现这一目标的方法。
方法#1:朴素的方法
在朴素的方法中,我们使用了 2 个嵌套循环。一个用于列表中的所有字典,第二个用于特定字典中的字典键值对。

Python3
# Python3 code to demonstrate
# Type conversion in list of dicts.
# using naive method
 
# initializing list of dictionary
test_list = [{'a' : '1', 'b' : '2'}, { 'c' : '3', 'd' : '4'}]
 
# printing original list
print ("The original list is : " + str(test_list))
 
# using naive method
# type conversation in list of dicts.
for dicts in test_list:
    for keys in dicts:
        dicts[keys] = int(dicts[keys])
     
# printing result
print ("The modified converted list is : " +  str(test_list))


Python3
# Python3 code to demonstrate
# Type conversion in list of dicts.
# using items() + list comprehension
 
# initializing list of dictionary
test_list = [{'a' : '1', 'b' : '2'}, { 'c' : '3', 'd' : '4'}]
 
# printing original list
print ("The original list is : " + str(test_list))
 
# using items() + list comprehension
# type conversation in list of dicts.
res = [dict([key, int(value)]
       for key, value in dicts.items())
       for dicts in test_list]
     
# printing result
print ("The modified converted list is : " +  str(res))


输出 :

The original list is : [{'a': '1', 'b': '2'}, {'c': '3', 'd': '4'}]
The modified converted list is : [{'a': 1, 'b': 2}, {'c': 3, 'd': 4}]


方法 #2:使用 items() + 列表理解
这可以在列表理解的帮助下仅使用一行轻松执行。可以利用 items函数在需要时提取列表值,并且列表理解部分处理迭代部分。

Python3

# Python3 code to demonstrate
# Type conversion in list of dicts.
# using items() + list comprehension
 
# initializing list of dictionary
test_list = [{'a' : '1', 'b' : '2'}, { 'c' : '3', 'd' : '4'}]
 
# printing original list
print ("The original list is : " + str(test_list))
 
# using items() + list comprehension
# type conversation in list of dicts.
res = [dict([key, int(value)]
       for key, value in dicts.items())
       for dicts in test_list]
     
# printing result
print ("The modified converted list is : " +  str(res))

输出 :

The original list is : [{'b': '2', 'a': '1'}, {'c': '3', 'd': '4'}]
The modified converted list is : [{'a': 1, 'b': 2}, {'c': 3, 'd': 4}]