14

如果它不存在,我如何将项目插入到数组中?

这是我尝试过的:

    [..]
    k = []
    for item in myarray:
        if not item in k:
             print("Item is in array already.")
             k[] = item
4

3 回答 3

28

您的代码有正确的想法,但只是使用k.append(item)而不是k[] = item.

说起来也更干净if item not in k:

于 2013-09-13T22:45:31.347 回答
9

k[] = item是无效的语法。您需要做的就是删除该行并使用list.append()

for item in myarray:
    if not item in k:
        print("Item is in array already.")
        k.append(item)

list.append()将一个项目添加到列表的末尾。

于 2013-09-13T22:45:09.723 回答
1

如果您不关心列表中项目的顺序,可以将其转换为集合以过滤掉任何重复项。

k = list(set(myarray))

或者如果 k 已经包含一些东西......

k = [...]  # optionally non-empty array
k = list(set(k) | set(myarray))

这样做是将 myarray 和 k 都转换为集合,并将它们组合起来,这样结果就是一个包含 k 和 myarray 内容的唯一列表。

于 2013-09-13T23:33:38.610 回答