我有一个用于整理课程分数的python程序。我的Class1文本文件如下所示:
伊丽莎白,2,7,3,
Anna,9,6,4
珍妮,8岁,1岁,
维多利亚,1,4,7
到目前为止,这是我的代码:
file=open("Class1.txt","r")
studentscores= []
for row in file:
studentscores.append(row.strip())
studentscores2=[]
for item in studentscores:
studentscores2.append(item.split(","))
我正在努力如何将字符串转换为整数,以便我可以对数字进行排序? 我将不胜感激。
答案 0 :(得分:2)
s = '''Elizabeth, 2, 7, 3
...: Anna, 9, 6, 4
...: Jenny, 8, 1, 5
...: Victoria, 1, 4, 7'''
[int(word) for line in s.splitlines() for word in line.split(',') if word.strip().isdigit()]
[2, 7, 3, 9, 6, 4, 8, 1, 5, 1, 4, 7]
答案 1 :(得分:0)
您的代码可以有效地重写为:
scorecard = []
with open("Class1.txt","r") as marks_file:
for scores in marks_file.readlines():
scorecard.append(map(int, scores.split(", ")[1:]))
这里的map函数用于实现给定列表上的函数,并且为了将有效字符串转换为整数,我们使用int("100")
其中"100"
是一个转换为整数的字符串,因此,我们使用map函数对给定的字符串集执行相同的操作。