list1 = ["palani", "samy","be"]
list2 = ["palani", "samys","be"]
def find_common(list1,list2):
for x in list1:
for y in list2:
if x == y :
list2.remove(x)
print" unique string 1:",list1
print" unique string 2:",list2
print" combained string 2:",list1.append(list2)
find_common(list1,list2)
我为什么得到None
?
答案 0 :(得分:3)
这可以通过使用set来完成:
a = ['hello', 'world']
b = ['hello', 'universe']
unique = list(set(a + b))
print(unique)
# ['universe', 'hello', 'world']
注意:这不适用于词典列表!
答案 1 :(得分:2)
list.append
方法就地修改列表并返回None
。您应该使用+
运算符来合并两个列表。
更改:
print" combained string 2:",list1.append(list2)
收件人:
print" combained string 2:",list1+list2
答案 2 :(得分:1)
import numpy as np
np.unique(list1+list2) # keeps only non dublicates
这也可以保留顺序,以防万一。
答案 3 :(得分:0)
您可以使用set
操作来实现此目的。
unique = list(set(list1).symmetric_difference(set(list2)))
答案 4 :(得分:0)
您可以尝试:
def find_common(list1,list2):
return list(set(list1+list2))
答案 5 :(得分:0)
list3 = list1[:]
[list3.append(i) for i in list2 if i not in list1]
print(l3)
['palani', 'samy', 'be', 'samys']