Skip to main content
 首页 » 编程设计

python之如何将不同的元素添加到列表中的列表中 python 3

2025年05月04日10三少

f = open("sonad.txt",encoding="utf-8") 
c = f.readlines() 
blokk = [[]] * 15 
for read in c: 
    length = len(read.strip()) 
    blokk[length].append(read.strip()) 

sonad.txt 有一些随机的词,我想把它们按这样的顺序排列:

所有长度为 1 个字母的单词都转到 blokk[1] 2 个字母长到 blokk[2] 等等……

但是我当前的代码所做的是将一个元素添加到 allL block[x] 以便 blokk[1] blokk[2] blokk[3] ..... 都是一样的。

请您参考如下方法:

blokk = [[]] * 15 行创建了一个列表,其中有 15 次相同的空列表。

您想改用列表推导式:

blokk = [[] for _ in range(15)] 

亲自尝试一下:

>>> blokk = [[]]*15 
>>> blokk 
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], []] 
>>> blokk[0].append(1) 
>>> blokk 
[[1], [1], [1], [1], [1], [1], [1], [1], [1], [1], [1], [1], [1], [1], [1]] 
>>> blokk = [[] for _ in range(15)] 
>>> blokk 
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], []] 
>>> blokk[0].append(1) 
>>> blokk 
[[1], [], [], [], [], [], [], [], [], [], [], [], [], [], []]