簡體   English   中英

如何在python中格式化字典的輸出

[英]How to format the output of dictionary in python

我想在python中格式化字典的值。 這是我用來生成輸出的腳本

entries = {}
entries1 = {}

with open('no_dup.txt', 'r') as fh_in:
    for line in fh_in:
        if line.startswith('E'):
            line = line.strip()
            line = line.split()
            entry = line[0]
            if entry in entries:
                entries[entry].append(line)
            else:
                entries[entry] = [line]

with open('no_dup_out.txt', 'w') as fh_out:
    for kee, val in entries.iteritems():
        if len(val) == 1:
            fh_out.write("{} \n".format(val))


with open('no_dup_out.txt', 'r') as fh_in2:
    for line in fh_in2:
        line = line.strip()
        line = line.split()
        entry = line[1]
        if entry in entries1:
            entries1[entry].append(line)
        else:
            entries1[entry] = [line]


with open('no_dup_out_final.txt', 'w') as fh_out2:
    for kee, val in entries1.iteritems():
        if len(val) == 1:
            fh_out2.write("{} \n".format(val))

例如,通過運行上面的腳本,我生成了以下輸出

[["[['ENSGMOG00000003747',", "'ENSORLG00000006947']]"]] 
[["[['ENSGMOG00000003752',", "'ENSORLG00000005385']]"]] 
[["[['ENSGMOG00000003760',", "'ENSORLG00000005379']]"]] 
[["[['ENSGMOG00000003748',", "'ENSORLG00000004636']]"]] 
[["[['ENSGMOG00000003761',", "'ENSORLG00000005382']]"]] 

我想對其進行格式化,例如刪除所有括號和逗號( ENSGMOG00000003747 ENSORLG00000006947 ),然后使用制表符分隔格式輸出其余內容。 我怎樣才能做到這一點?

如果列表列表為full_list ,則可以使以下代碼給出所需的輸出:

desired_list = ['\t'.join([element.split('\'')[1] for element in list_item[0]]) for list_item in full_list]

暫無
暫無

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

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