假设我有下面的单词列表
words = ["arid", "dash", "drain", "thread"]
以及列表的空列表:
a=[[]]*7
我想把这些单词放在列表中,这样每个单词的长度就决定了它们所附加到的列表的位置
例如,因为“干旱”的长度为4,它将继续:
a=[[],[],[],[],["arid"],[],[]]
“dash”的长度也为4,因此它将继续:
a=[[],[],[],[],["arid", "dash"],[],[]]
但“排水管”的长度为5,因此它将继续:
a=[[],[],[],[],["arid", "dash"],["brain"],[]]
“线程”的长度是6,所以它会继续:
a=[[],[],[],[],["arid", "dash"],["brain"],["thread"]]
我尝试了以下代码:
A = [[]]*7 #7 is len(thread)+1. it's not hard coded in my implementation
for word in words:
size=len(word)
A[size].append(word)
print(A)
当我运行此命令时,我得到:
>>[['arid', 'dash', 'drain', 'thread'], ['arid', 'dash', 'drain', 'thread'], ['arid', 'dash', 'drain', 'thread'], ['arid', 'dash', 'drain', 'thread'], ['arid', 'dash', 'drain', 'thread'], ['arid', 'dash', 'drain', 'thread'], ['arid', 'dash', 'drain', 'thread']]
这毫无意义。每次我追加时,单词都会追加到列表列表中的每个列表中。我做错了什么?有人能帮忙吗
您需要更改为
A = [[]for _ in range(7)]
。您可以尝试以下操作:输出:
相关问题 更多 >
编程相关推荐