atp*_*atp 1 python list-comprehension matrix
假设我有一个这样的文件(假装它是一个矩阵):
abcde
fghik
lmnop
Run Code Online (Sandbox Code Playgroud)
我想把它放在2d列表中,但只有列到索引3:
# 0 1 2 3
[['a','b','c','d'],
['f','g','h','i'],
['l','m','n','o']]
Run Code Online (Sandbox Code Playgroud)
如何使用列表理解来做到这一点?我知道我可以循环,但我正在寻找一种更清洁的方式.
f = open('file.txt')
lines = f.readlines()
matrix = [[a for a in b] for b in lines] # this gets all columns, up to 4
Run Code Online (Sandbox Code Playgroud)
我也可以在内部列表理解中使用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
Run Code Online (Sandbox Code Playgroud)