Skip to main content
 首页 » 编程设计

python之列表理解选定的索引

2025年05月04日8mq0036

假设我有一个这样的文件(假设它是一个矩阵):

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