Python如何读取并分割一行成多个整数
对于输入文件,内容是用空格或制表符分开的,比如:
1 2 3
4 5 6
7 8 9
如何读取这一行并把整数分开,然后保存到列表或元组里呢?谢谢。
data = [[1,2,3], [4,5,6], [7,8,9]]
data = [(1,2,3), (4,5,6), (7,8,9)]
5 个回答
2
这段代码的意思是,从一个叫“file.txt”的文件中读取每一行,然后把每一行的内容分开,转换成整数,最后把这些整数放到一个元组里。所有的元组会被放到一个列表中。
我喜欢Jeff的方法,使用map(int, line.split())
,而不是里面的生成器。
3
如果你正在处理矩阵或者数字表格,我建议你使用numpy这个工具包。
import numpy as np
data = np.loadtxt(input_filename)
11
有一种方法可以做到这一点,前提是子列表在不同的行上:
with open("filename.txt", 'r') as f:
data = [map(int, line.split()) for line in f]
请注意,with
这个语句直到 Python 2.6 版本才正式推出。如果你使用的是更早的版本,你需要这样做:
from __future__ import with_statement