请帮帮我。如果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
?
答案 0 :(得分:0)
假设a和b是列表:
c = []
for data in a:
if data in b:
c.append(data)
或者,作为列表理解:
c = [data for data in a if data in b]
答案 1 :(得分:0)
C=[ ]
for data in a:
if data[0] in b or data[1] in b:
C.append(data)
答案 2 :(得分:0)
使用此全局解决方案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