假设我有一个这样的文件(假设它是一个矩阵):
abcde
fghik
lmnop
我想把它放在一个二维列表中,但只有索引 3 之前的列:
# 0 1 2 3
[['a','b','c','d'],
['f','g','h','i'],
['l','m','n','o']]
如何使用列表理解来做到这一点?我知道我可以循环,但我正在寻找一种更简洁的方法。
f = open('file.txt')
lines = f.readlines()
matrix = [[a for a in b] for b in lines] # this gets all columns, up to 4
我还可以在内部列表理解中使用 enumerate/if 来检查列。那是最干净的吗?
请您参考如下方法:
如果我正确理解了这个问题,这应该可行(但也许我过度简化了)。注意内部理解中的[:4]:
f = open('file.txt')
lines = f.readlines()
matrix = [[a for a in b[:4]] for b in lines] # this gets all columns, up to 4
