我已经碰壁了,需要一些帮助或建议才能让我通过。
我想将某些字符串追加到列表的末尾。
所以我们有
List1 = ["sony","cant recall","samsung","dont know","apple","no answer", "toshiba"]
接下来我们有另一个列表
List2 = ["dont know", "cant recall","no answer"]
这是我迄今为止开发的内容。该脚本基本上检查列表1中的单词是否在列表2中(如果找到),该特定字符串应该从列表中的当前位置移动到结尾。但我现在能做的就是找到字符串及其索引。我不知道如何移动并将找到的字符串附加到列表的末尾。
for p, item in enumerate(list1):
for i, element in enumerate(list2):
if item == element:
print item, p
谢谢!
答案 0 :(得分:3)
您可以执行以下算法:
list1 = [x for x in list1 if not x in list2] + [x for x in list1 if x in list2]
将导致:
['sony', 'samsung', 'apple', 'toshiba', 'cant recall', 'dont know', 'no answer']
答案 1 :(得分:1)
lst_result = set(lst1) | set(lst2)
从列表中删除重复项作为副作用。不确定你是否想要它,但看起来像是假设的。
保持订购:
lst1 = ["sony","cant recall","samsung","dont know","apple", "toshiba"]
lst2 = ["dont know", "cant recall","no answer"]
stripped = list(filter(lambda x: x not in lst2,lst1))
lst_result = stripped + lst2
答案 2 :(得分:-1)
这是一种方法:
for item in list1:
if item in list2:
list1.remove(item)
list1.append(item)