簡體   English   中英

列表到鍵值對的列表

[英]List of List to Key-Value Pairs

我有一個用分號分隔,然后用空格分隔的字符串:

'gene_id EFNB2; Gene_type cDNA_supported; transcript_id EFNB2.aAug10; product_id EFNB2.aAug10;'

我想通過基於分隔符的拆分在一行中創建一個字典,但是到目前為止,我只能進入列表列表:

filter(None,[x.split() for x in atts.split(';')])

這給了我:

[['gene_id', 'EFNB2'], ['Gene_type', 'cDNA_supported'], ['transcript_id', 'EFNB2.aAug10'], ['product_id', 'EFNB2.aAug10']]

當我想要的是:

{'gene_id': 'EFNB2', 'Gene_type': 'cDNA_supported', 'transcript_id': 'EFNB2.aAug10', 'product_id': 'EFNB2.aAug10'}

我試過了:

filter(None,{k:v for k,v in x.split() for x in atts.split(';')})

卻什么也沒給我 有人知道如何做到這一點嗎?

您現在已經很接近了,您可以在列表列表中調用dict

>>> lst = [['gene_id', 'EFNB2'], ['Gene_type', 'cDNA_supported'], ['transcript_id', 'EFNB2.aAug10'], ['product_id', 'EFNB2.aAug10']]
>>> dict(lst)
{'Gene_type': 'cDNA_supported',
 'gene_id': 'EFNB2',
 'product_id': 'EFNB2.aAug10',
 'transcript_id': 'EFNB2.aAug10'}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM