检查python列表中是否存在条目并添加元素

检查python列表中是否存在条目并添加元素,python,list,Python,List,我有两个python表单列表 list1 = [('TGFB1', 'TGFB1', 1), ('TGFB1', 'CRP', 0.4),('BRCA2', 'TP53', 0.3)] list2 = [('BRCA1', 'TP53', 2), ('TGFB1', 'CRP', 0.4),('BRCA2', 'TP53', 0.3)] 我需要检查列表2中的每个条目是否存在于列表1中。如果存在,添加整数部分并存储在新列表中。如果不存在,只需将该条目附加到新创建的列表中即可。因此,我新创建的列表

我有两个python表单列表

list1 = [('TGFB1', 'TGFB1', 1), ('TGFB1', 'CRP', 0.4),('BRCA2', 'TP53', 0.3)]
list2 = [('BRCA1', 'TP53', 2), ('TGFB1', 'CRP', 0.4),('BRCA2', 'TP53', 0.3)]
我需要检查列表2中的每个条目是否存在于列表1中。如果存在,添加整数部分并存储在新列表中。如果不存在,只需将该条目附加到新创建的列表中即可。因此,我新创建的列表3如下所示

list3 = [('TGFB1', 'TGFB1', 1), ('TGFB1', 'CRP', 0.8),('BRCA2', 'TP53', 0.6),('BRCA1', 'TP53', 2) ]

根据我的上述评论,这是您可能想要的:

from copy import copy

d3 = copy(dict(((x, y), z) for x, y, z in list1))
d2 = dict(((x, y), z) for x, y, z in list2)

for key, value in d2.iteritems():
    d3[key] = (d3[key] if key in d3 else 0.0) + value
如果您确实想打开
d3
,请返回相同结构的列表,使用:

list3 = [key + (value,) for key, value in d3.iteritems()]

根据我的上述评论,这是您可能想要的:

from copy import copy

d3 = copy(dict(((x, y), z) for x, y, z in list1))
d2 = dict(((x, y), z) for x, y, z in list2)

for key, value in d2.iteritems():
    d3[key] = (d3[key] if key in d3 else 0.0) + value
如果您确实想打开
d3
,请返回相同结构的列表,使用:

list3 = [key + (value,) for key, value in d3.iteritems()]

根据我的上述评论,这是您可能想要的:

from copy import copy

d3 = copy(dict(((x, y), z) for x, y, z in list1))
d2 = dict(((x, y), z) for x, y, z in list2)

for key, value in d2.iteritems():
    d3[key] = (d3[key] if key in d3 else 0.0) + value
如果您确实想打开
d3
,请返回相同结构的列表,使用:

list3 = [key + (value,) for key, value in d3.iteritems()]

根据我的上述评论,这是您可能想要的:

from copy import copy

d3 = copy(dict(((x, y), z) for x, y, z in list1))
d2 = dict(((x, y), z) for x, y, z in list2)

for key, value in d2.iteritems():
    d3[key] = (d3[key] if key in d3 else 0.0) + value
如果您确实想打开
d3
,请返回相同结构的列表,使用:

list3 = [key + (value,) for key, value in d3.iteritems()]

这是我经常做的事情的一个更复杂的版本。通常,我不在乎顺序,只是把东西扔进听写。或者有时我按键顺序,所以最初的顺序并不重要

订购一台电脑怎么样(python2.7+):


这是我经常做的事情的一个更复杂的版本。通常,我不在乎顺序,只是把东西扔进听写。或者有时我按键顺序,所以最初的顺序并不重要

订购一台电脑怎么样(python2.7+):


这是我经常做的事情的一个更复杂的版本。通常,我不在乎顺序,只是把东西扔进听写。或者有时我按键顺序,所以最初的顺序并不重要

订购一台电脑怎么样(python2.7+):


这是我经常做的事情的一个更复杂的版本。通常,我不在乎顺序,只是把东西扔进听写。或者有时我按键顺序,所以最初的顺序并不重要

订购一台电脑怎么样(python2.7+):


“present”是指前两个元素匹配?我需要检查列表2中的每个条目是否都存在于列表1中
如果全部(列表2中的x表示列表1中的x)
您使用的数据结构很差,无法实现目标。这里肯定需要一个
dict
,其中键是元组,如
('TGFB1','TGFB1')
,值是数字。然后,您可以在一个单独的系统中实现所需的功能scan@user85544,浮点/整数部分是否也必须匹配,还是像Martjin Pieters所问的那样仅匹配前两个元素?而“present”指的是前两个元素匹配?我需要检查list2中的每个条目是否都存在于list1中
if all(list2中的x代表list1中的x)
您正在使用糟糕的数据结构来实现您想要实现的目标。这里肯定需要一个
dict
,其中键是元组,如
('TGFB1','TGFB1')
,值是数字。然后,您可以在一个单独的系统中实现所需的功能scan@user85544,浮点/整数部分是否也必须匹配,还是像Martjin Pieters所问的那样仅匹配前两个元素?而“present”指的是前两个元素匹配?我需要检查list2中的每个条目是否都存在于list1中
if all(list2中的x代表list1中的x)
您正在使用糟糕的数据结构来实现您想要实现的目标。这里肯定需要一个
dict
,其中键是元组,如
('TGFB1','TGFB1')
,值是数字。然后,您可以在一个单独的系统中实现所需的功能scan@user85544,浮点/整数部分是否也必须匹配,还是像Martjin Pieters所问的那样仅匹配前两个元素?而“present”指的是前两个元素匹配?我需要检查list2中的每个条目是否都存在于list1中
if all(list2中的x代表list1中的x)
您正在使用糟糕的数据结构来实现您想要实现的目标。这里肯定需要一个
dict
,其中键是元组,如
('TGFB1','TGFB1')
,值是数字。然后,您可以在一个单独的系统中实现所需的功能scan@user85544,浮点数/整数部分是否也必须匹配,还是像Martjin Pieters所问的那样仅匹配前两个元素?