我有一个制表符分隔的文件,如下所示:
A 3 A 6
B 6 B 9
C 0 C 2
我希望以如下方式读取文件:
LIST = [['A', '3'], ['B', '6'], ['C', '0'], ['A', '6'], ['B', '9'], ['C', '2']]
顺序并不重要。我只担心每行以2为增量读取并分配给子列表。
有什么建议么?
谢谢,
S :-)
最佳答案
最直接的方法是:
>>> n = []
>>> for line in open(fname):
els = line.split('\t')
n.append(els[:2])
n.append(els[2:])
>>> n
[['A', '3'], ['A', '6'], ['B', '6'], ['B', '9'], ['C', '0'], ['C', '2']]
也许稍微更有效的是:
>>> g = (line.split('\t') for line in open(fname))
>>> [els[i:i+2] for els in g for i in range(0, 4, 2)]
[['A', '3'], ['A', '6'], ['B', '6'], ['B', '9'], ['C', '0'], ['C', '2']]