如何将字典中的值从字符串转换为int

2024-04-28 21:15:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字典列表,其中键和值都是字符串。 我正在从CSV文件导入数据。 字典如下所示:

{'1A': '1',
 '1B': '1',
 '1C': '2'}

我想把这些值改成整数

我四处寻找解决方案,但似乎没有找到任何有效的方法

这是我的代码(列表称为“买家”):

for i in buyers:
    for k, v in i.items():
        i[v] = int(i[v])

我收到这个错误:

i[v] = int(i[v])

KeyError: '1'

我不确定该怎么办,因为它说我的错误是“1”,在我看来,它应该可以转换成int


Tags: 文件csv数据方法字符串代码in列表
2条回答

您需要将i[v] = int(i[v])更改为i[k] = int(v)

dict1  = {'1A' : '1', '1B' : '1', '1C' : '2'} 

for k, v in dict1.items():
    dict1[k] = int(v)
print(dict1 )

输出:

{'1A': 1, '1B': 1, '1C': 2}

您可以使用列表和听写理解

buyers = [
    {'1A' : '1', '1B' : '1', '1C' : '2'},
    {'2A' : '2', '2B' : '4', '2C' : '3'}
]


result = [
    {key: int(val) for key, val in d.items()}
    for d in buyers
]

print(result)

输出

[{'1A': 1, '1B': 1, '1C': 2}, {'2A': 2, '2B': 4, '2C': 3}]

相关问题 更多 >