请帮帮我。如果b中的元素在a中,那么我想把a (成对的)放在一个新的列表(C)中。
a=['SMAD3', 'CYP11A1']
['SMAD3', 'ZNF83']
['SMAD3', 'PSMD11']
['SMAD3', 'MTF2']
['SMAD3', 'CFDP1']
['SMAD3', 'ST6GALNAC2']...
b=['NPR2']
['COL2A1']
['GNPTAG']
['ENPP1']
['COL6A1']
['WISP3']...我是这样写的:
C=[ ]
for data in a:
for line in b:
if ...
C.append(a)如何填写if
发布于 2012-11-16 13:39:38
假设a和b是列表:
c = []
for data in a:
if data in b:
c.append(data)或者,作为一种列表理解:
c = [data for data in a if data in b]发布于 2012-11-16 13:41:14
C=[ ]
for data in a:
if data[0] in b or data[1] in b:
C.append(data)发布于 2012-11-16 15:54:41
使用这种全局解决方案,a可以是多个元素对,b可以是每个内部列表中的多个元素。
>>>a=[['ad','re','er'],['ew','fg']]
>>>b=[['erw','dfger'],['we']] 无论如何,下面是如何做到这一点的:
c=[]
modified_b=[]
a=[['aaaa','bbbb'], ['ccccc', 'dddd']]
b=[['aaaa']]
for i in b:
modified_b.extend(i) # this will make b one list instead of list of lists
for data in a:
for element in data:
if element in modified_b:
c.append(data)
break #this will break the inner loop once you find b in a https://stackoverflow.com/questions/13411039
复制相似问题