如何将字典中的字符串列表转换为int列表?

2024-10-02 14:18:01 发布

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

所以我把CSV文件中的数据写到Python中,这样我就可以用它做一些计算了。CSV文件中的数据是模拟学生成绩;所以一个学生的名字,然后是5分考试成绩。我使用以下代码将所有数据放入字典:

csvfile = open('Lab03-testdata.csv', newline='')
linesreader = csv.reader(csvfile, delimiter=';')

testScores = {}

for l in linesreader:
    testScores[l[0]] = l[1:]

这是可行的,但是每个键都有一个对应的字符串列表而不是int。我的输出类似于:

'John Doe': ['100', '55', '34', '22', '99']

为了做任何数学运算,我不得不使用for循环将我想要的测试分数添加到单独的列表中,并在这样做时将分数转换成int。但是我希望字典中的所有数据都是int。我想要更像这样的东西:

'John Doe': [100, 55, 34, 22, 99]

那么如何将值列表转换为整数呢


Tags: 文件csv数据csvfile列表for字典john
2条回答

你必须把数据从str转换成int

for l in linesreader:
    testScores[l[0]] = list(map(int, l[1:]))

向此代码添加int(...)强制转换:

for l in linesreader:
    testScores[l[0]] = l[1:]

请注意for循环中的更改:

for l in linesreader:
    testScores[l[0]] = [int(i) for i in l[1:]]

相关问题 更多 >