Python|字典项的类型转换
数据类型的相互转换很常见,我们在使用字典时也可能遇到这个问题。我们可能有一个带有数字字母的键和对应的列表,并且我们将整个字典转换为整数而不是字符串数字。让我们讨论可以执行此任务的某些方式。
方法#1:使用循环
这个问题可以通过使用循环使用简单的方法来解决。在此,我们循环每个键和值,然后分别对键和值进行类型转换并返回所需的整数容器。
# Python3 code to demonstrate working of
# Type conversion of dictionary items
# Using loop
# Initialize dictionary
test_dict = {'1' : ['4', '5'], '4' : ['6', '7'], '10' : ['8']}
# printing original dictionary
print("The original dictionary : " + str(test_dict))
# Using loop
# Type conversion of dictionary items
res = {}
for key, value in test_dict.items():
res[int(key)] = [int(item) for item in value]
# printing result
print("Dictionary after type conversion : " + str(res))
输出 :
The original dictionary : {’10’: [‘8’], ‘4’: [‘6’, ‘7’], ‘1’: [‘4’, ‘5’]}
Dictionary after type conversion : {1: [4, 5], 10: [8], 4: [6, 7]}
方法#2:使用字典理解
使用字典理解的单行速记可以轻松执行此任务。这为上面讨论的循环方法提供了一种更短的替代方法,因此被推荐。
# Python3 code to demonstrate working of
# Type conversion of dictionary items
# Using dictionary comprehension
# Initialize dictionary
test_dict = {'1' : ['4', '5'], '4' : ['6', '7'], '10' : ['8']}
# printing original dictionary
print("The original dictionary : " + str(test_dict))
# Using dictionary comprehension
# Type conversion of dictionary items
res = {int(key):[int(i) for i in val]
for key, val in test_dict.items()}
# printing result
print("Dictionary after type conversion : " + str(res))
输出 :
The original dictionary : {’10’: [‘8’], ‘4’: [‘6’, ‘7’], ‘1’: [‘4’, ‘5’]}
Dictionary after type conversion : {1: [4, 5], 10: [8], 4: [6, 7]}