使用您拥有的代码并解决有关如何将列表转换为整数的具体问题:
您可以使用list comprehension使用以下示例遍历每一行并将字符串转换为int:
鉴于:
line =['3', '4', '1\r\n']
然后:
int_list = [int(i) for i in line]
将产生一个整数列表
[3, 4, 1]
然后,您可以通过下标(0到2)访问.例如
int_list [0]包含3,
int_list [1]包含4,
等等
更精简的版本供您考虑:
with open('data.txt') as f:
for line in f:
int_list = [int(i) for i in line.split()]
print int_list
使用with的优点是,当您完成或遇到异常时,它会自动为您关闭文件.
更新:
根据您在下面的评论,如果您想要3个不同变量中的数字,比如a,b和c,您可以执行以下操作:
for line in f:
a, b, c = [int(i) for i in line.split()]
print 'a = %d, b = %d, c = %d\n' %(a, b, c)
得到这个:
a = 9, b = 8, c = 1
这依赖于每行有3个数字.
在旁边:
请注意,除了“列表理解”(LC),您还可以使用此表单的“生成器表达式”(GE):
a, b, c = (int(i) for i in line.split())
对于你的3个整数的特殊问题,这没有太大的区别,但我表示它是完整的.对于较大的问题,LC需要更多内存,因为它会立即在内存中生成完整列表,而GE会根据需要逐个生成值.如果您感到好奇,这个问题Generator Expressions vs. List Comprehension将为您提供更多信息.