如何在python中将字符串转换为整数?

时间:2015-04-29 19:34:58

标签: python string sorting integer

我有一个用于整理课程分数的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(","))

我正在努力如何将字符串转换为整数,以便我可以对数字进行排序? 我将不胜感激。

2 个答案:

答案 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函数对给定的字符串集执行相同的操作。