尝试追加到列表时不断出现错误

时间:2019-09-21 17:32:43

标签: python

你好,我在这里有一些代码

grid2 = [
    [0],
    [0],
    [0],
    [0],
    [0],
    [0],
    [0]
    ]

terms = ["hello", "later", "no", "dog","love"]
d1 = ["hello", "no", "later", "cry","puppy","mouse"]
d2 = ["baby", "venus", "poop", "hello","puppy","mouse"]
d3 = ["mole", "no", "mars", "eat","dog","mouse"]


for i, val in enumerate(terms):
    grid2[i] = val
    if val in d1:
        grid2[i].append(1)
    if val in d2:
        grid2[i].append(2)
    if val in d3:
        grid2[i].append(3)

我想做的是将术语中的项添加到第一个数组位置,然后将二维数组添加到第一个数组(如果在d1,d2,d3中找到了术语中的项),我的最终结果应该像这样。

[['hello', 'd1', 'd2'], ['later', 'd1']]

我最终希望该术语带有其所在的文档列表(d1) 但我不断收到错误消息

str object has no attribute append on grid2[i].append(1)

当我自己尝试使用此行时,它将起作用并将该值附加到grid2 [0]

grid2[0].append("d1")

谢谢

1 个答案:

答案 0 :(得分:1)

for i, val in enumerate(terms):
    grid2[i] = val

执行第二行之后,grid2[i]不再是列表;这是一个字符串。

也许你是说grid2[i][0] = val