基本上,我不确定是否有任何可能的方法将此代码转换为列表理解。list1和list3是从基因信息中提取的列表。基本上x[2]是一个基因id,y[0]也是一个基因id,y[1]是基因名。基本上,我想以列表5结束,这是一个列表列表,我可以通过循环在tsv中编写
list2 = []
list4 = []
list5 = []
for x in list1:
for y in list3:
if x[2] == y[0]:
list2.append(y[1])
list4.append(x[2])
list4.append(",".join(list2))
list5.append(list4)
list2 = []
list4 = []
对于列表1中的列表,x是[9606,hex1m1m19606.ensp0000328773]
那么对于列表3中y[0]==x[2]的所有y,例如,[9606.ensp0000395733,ZNF737-001,Ensembl\u HGNC\u trans\u name Ensembl\u Vega\u transcript]和[9606.ensp0000395733,ZNF737-002,Ensembl\u HGNC\u trans\u name Ensembl\u Vega\u transcript]
然后我们希望在迭代之后得到列表5的[[“9606.ensp0000395733”,“ZNF737-001,ZNF737-002,HEX1M1”]]
您可以从
list3
创建一个映射dict,将第一个项中的键映射到第二个项中的值列表,这样您就可以使用列表理解来迭代list1
以输出在dict中找到的键的上述映射dict中的键对列表和关联列表:相关问题 更多 >
编程相关推荐