Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python在列表中查找新元素_Python_Python 2.7 - Fatal编程技术网

Python在列表中查找新元素

Python在列表中查找新元素,python,python-2.7,Python,Python 2.7,我想在list2中查找生词 liste1 = [['euro2016', '99'], ['portugal', '87'], ['ronaldo', '34']] liste2 = [['euro2016', '90'], ['portugal', '75'], ['ronaldo', '44'], ['nani', '15']] l1 = len(liste1) l2 = len(liste2) for x in range(0,l2): for y in range(0,l1

我想在
list2
中查找生词

liste1 = [['euro2016', '99'], ['portugal', '87'], ['ronaldo', '34']]
liste2 = [['euro2016', '90'], ['portugal', '75'], ['ronaldo', '44'], ['nani', '15']]


l1 = len(liste1)
l2 = len(liste2)

for x in range(0,l2):
    for y in range(0,l1):
        if liste2[x][0] not in liste1[y][0]:
            print liste2[x][0]
但我的代码给出的结果如下:

欧洲2016

欧洲2016

葡萄牙

葡萄牙

罗纳尔多

罗纳尔多

纳尼

纳尼

纳尼

我想我必须搜索list1[all][0],但我不知道如何搜索。

检查

我想在清单2中找到生词


您可以使用列表理解并应用只接受列表2中新项目的
过滤器

result = [i[0] for i in liste2 if i[0] not in (j[0] for j in liste1)]
#                              ^      filtering is done here       ^
print(result)
# ['nani']

您可以在每个列表项中创建一组第一个元素,然后取其差值。它将返回列表2中不在列表1中的项目:

l3 = set(map(lambda x:x[0],liste1))
l4 = set(map(lambda x: x[0],liste2))
print list(l4.difference(l3))[0]
输出:

nani
>>> 

new
是什么意思?您的问题不清楚。是否希望程序只返回
nani
l3 = set(map(lambda x:x[0],liste1))
l4 = set(map(lambda x: x[0],liste2))
print list(l4.difference(l3))[0]
nani
>>>