繁体   English   中英

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

[英]How do I convert a list of strings to a list of ints inside a dictionary?

所以我将 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:]

这可行,但每个键都有一个对应的字符串列表,而不是整数。 我的 output 看起来像:

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

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

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

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

向此代码添加一个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:]]

您必须将您的数据从 str 转换为 int

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM