从多行文件读取整数排序python_从Python文件中读取包含整数的行?

使用现有代码并解决如何将列表转换为整数的特定问题:

使用list comprehension以下示例,可以遍历每一行并将字符串转换为int:

给出:line =['3', '4', '1\r\n']

然后:int_list = [int(i) for i in line]

将生成一个整数列表[3, 4, 1]

然后可以通过下标(0到2)访问。e、 g

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会给你更多的信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值