生信編程實(shí)戰(zhàn)第4題(python)

題目來(lái)自生信技能樹(shù)論壇

image.png

從這題開(kāi)始,我決定只用python做
python很強(qiáng)大,熟練了可以做其他語(yǔ)言能做的大部分事情

import glob
import collections
mydict=collections.OrderedDict()
list_dirs=glob.glob("./*.txt")
for i in list_dirs:
   for line in open (i):
      array=line.strip().split("\t")
      if array[0] not in mydict:
           mydict[array[0]]=[array[1]]    #注意array[1]外面的中括號(hào)
      else:
           mydict[array[0]].append(array[1])    #字典中,對(duì)一個(gè)key增加多個(gè)value的方法

for gene_name in mydict:
    print("%s\t%s"%(gene_name,"\t".join(mydict[gene_name])))

部分結(jié)果如下


image.png

總結(jié)一下知識(shí)點(diǎn):
1.關(guān)于glob
這個(gè)題目一開(kāi)始困擾我的問(wèn)題就是文件讀取的問(wèn)題,因?yàn)槟夸浵掠刑辔募喜?br> 這邊提供的一個(gè)思路就是把所有待讀取文件的路徑存到列表中然后對(duì)列表遍歷。這里所用到的就是python中g(shù)lob包中的glob函數(shù)
list_dirs=glob.glob("./")
當(dāng)前文件下的
文件路徑讀取到列表中

2.一個(gè)key對(duì)應(yīng)多個(gè)value,而value形成一個(gè)列表。
對(duì)第一個(gè)文件就是建立單一的鍵值對(duì)
注意?。?!
因?yàn)槲覀冎篮竺娴膙alue會(huì)形成list,所有這里鍵值對(duì)的構(gòu)建中value要加[]
dict[key]=[value1]
同一個(gè)key,添加新的value的方法是
dict[key].append(value2)

3.一個(gè)key,多個(gè)value,怎么打印的問(wèn)題
一般我們打印字典中所有的鍵值對(duì)的時(shí)候,用的是
for k,v in dict.items():
print(k,v)
但這里只有一個(gè)key,所以是
for key in dict:
print("%s\t%s"%(key,"\t".join(dict[key])))

"t".join()可以把list中的value用"\t"連接起來(lái)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 6,334評(píng)論 0 10
  • 我喜歡愛(ài)笑的姑娘 可不是一笑就把我遺忘 心傷 何必去追求什么地老天荒 用盡一切 不過(guò)是幾頁(yè)紙張 迷茫 何必去冥思苦...
    你娃閱讀 149評(píng)論 2 2
  • 是否感到迷茫 是否心存猶豫 在選擇間掙扎 在進(jìn)退里兩難 請(qǐng)問(wèn)一下自己 家人是否已經(jīng)無(wú)憂 未來(lái)是否有清晰方向 每一天...
    無(wú)人獨(dú)臥閱讀 182評(píng)論 0 0
  • 燈,天上的星雨落在塵世 燃燒的是光,指人前進(jìn),在黑的夜里 溪水般的珍珠 洗濯著霧蒙蒙的心 向陽(yáng)的延伸 溫潤(rùn)著夜的黑...
    月鈴閱讀 202評(píng)論 0 2
  • 很多成功人士都告訴我們,去做你真正熱愛(ài)的事,能點(diǎn)燃你熱情的事,你就會(huì)成功。 熱情是什么?是能讓你的生命發(fā)酵的東西,...
    s甜甜s閱讀 310評(píng)論 0 0

友情鏈接更多精彩內(nèi)容