確定蛋白濃度(二)|自學(xué)生信Python(第二十二天)

確定蛋白濃度(二)

問(wèn)題回顧:如何將原始數(shù)據(jù)表(表 7. 1)轉(zhuǎn)換為更簡(jiǎn)單的表(表 7.2)?

在下面的 Python 會(huì)話中,會(huì)對(duì)初始表锌唾,即包含數(shù)個(gè)列表的列表執(zhí)行一些操作步驟灼伤,將一個(gè)新函數(shù)zip() 使用兩次:第一次触徐,將表調(diào)轉(zhuǎn)了 90° ,第二次狐赡,組合表中的兩列以獲得一個(gè)新的二維表撞鹉。
其參考代碼如下:

table = [
    ['protein','ext1','ext2','ext3'],
    [0.16,0.038,0.044,0.040],
    [0.33,0.089,0.095,0.091],
    [0.66,0.184,0.191,0.191],
    [1.00,0.280,0.292,0.283],
    [1.32,0.365,0.367,0.365],
    [1.66,0.441,0.443,0.444]

]
table = table[1:]
protein,ext1,ext2,ext3 = zip(*table)
extinction = ext1+ext2+ext3
protein = protein*3
table =zip(protein,extinction)
for prot,ext in table:
    print(prot,ext)

輸出結(jié)果為:


命令的含義

啟動(dòng)該程序,會(huì)打印轉(zhuǎn)化為雙列格式的表格颖侄。 程序分為兩部分鸟雏。 在頂部,數(shù)據(jù)寫成嵌套其他列表的列表格式览祖。 使用這種嵌套列表孝鹊,該程序就能清晰地表示二維數(shù)據(jù)。 在底部穴墅,該轉(zhuǎn)換由 5 個(gè)步驟完成惶室。
①首先温自,刪除標(biāo)簽行(table = table[1:]);
②其次,創(chuàng)建四個(gè)元組皇钞, 每個(gè)包含一列數(shù)據(jù)(protein悼泌, ext1, ext2, ext3 = zip( table));
③第三,將消光值列復(fù)制到一個(gè)元 組(extinction = ext1 + ext2 +ext3)夹界,并將蛋白質(zhì)列相應(yīng)地延長(zhǎng) (protein = protein
3) 馆里。 這里,蛋白質(zhì)元組乘以 3. 使相同的值重復(fù)三次可柿,因?yàn)樵谏媳碇幸粋€(gè)蛋白質(zhì)對(duì)應(yīng)三個(gè)消光值;
④第四鸠踪,兩列組合成一個(gè)新的二維表(table = zip(protein, extinction) );
⑤最后,將表的內(nèi)容 逐行打印复斥,
其結(jié)果是含有蛋白質(zhì)的濃度和相應(yīng)的消光值對(duì)的嵌套列表营密。

二維表的表示方法

我們先從含有一列蛋白質(zhì)濃度和三列消光值的表開(kāi)始(見(jiàn)表 7.1)。table 變量的類型是包含其他列表的列表目锭。 任何表可以被編碼為含有列表的列表评汰,也稱為嵌套列表。 例如痢虹,表

可以編碼為嵌套列表
square = [[1,2,3] , [4,5,6] , [7,8,9]]

或嵌套元組的列表

square = [(1,2,3) , (4,5,6) , ( 7,8,9 )]

Python列表可以保存所有類型的數(shù)據(jù)被去,也包括其他列表。 在由嵌套列表表示的表中奖唯,有一個(gè)單一的外列表(包含內(nèi)部的行〉和內(nèi)列表(一行一個(gè)) .外列表包含內(nèi)列表惨缆,這樣表就有了清晰的結(jié)構(gòu)。 此嵌套列表結(jié)構(gòu)又稱為二維陣列丰捷。

問(wèn)答: 能否使用 python三維表?
能有多少列表相互嵌套并沒(méi)有限制 坯墨。 例如,可以創(chuàng)建一個(gè) 2x2x2 元素的三維列表如下:
cube = [[[0,1],[2, 3]],[[4,5], [6,7]]]

三維表創(chuàng)建后瓢阴,數(shù)據(jù)規(guī)某澹可能很快就會(huì)變得非常巨大(例如,如果表在每個(gè)維度有 100 個(gè)位 置荣恐,那么將是 100^3或 10^6個(gè)單元格的表)液斜。有了這樣的數(shù)量級(jí) , 程序很容易變得非常慢叠穆,除非能使用復(fù)雜的算法并有大量的內(nèi)存和/或功能強(qiáng)大的計(jì)算機(jī)少漆。有一條經(jīng)驗(yàn)法則是, 當(dāng)數(shù)據(jù)越多時(shí)硼被,就越必須提前計(jì)劃示损。 當(dāng)數(shù)據(jù)變得更復(fù)雜時(shí),用像[1][2][3]這樣的索引訪 問(wèn)列表就會(huì)十分復(fù)雜低效嚷硫,這時(shí)類可以使數(shù)據(jù)更具有可讀性检访。

訪問(wèn)行和單元格

將表格表示為嵌套列表后始鱼,可以通過(guò)索引訪問(wèn)各行,以同樣的方式也可以訪問(wèn)任何列表脆贵。 例如医清,訪問(wèn)第二行可以用如下指令(索引從 0 開(kāi)始) :

second_row = table[1]

通過(guò)添加表示列數(shù)的第二個(gè)索引,可以訪問(wèn)單元格卖氨。例如会烙,第二行的第三列中的單元可以這樣訪問(wèn):
second_row_third_column = table [1][2]

或者,如果要操作數(shù)據(jù)筒捺, 則可以把它賦給指定單元格:

table [1][2] = 0.123

用單個(gè) for 循環(huán)柏腻,可以對(duì)表中的所有行進(jìn)行操作 :
for row in table:
print(row)

用 for 雙循環(huán),可以依次訪問(wèn)各行的每個(gè)單元格 :

for row in table:
for cell in row:
print(cell)
在 Python 的嵌套列表中系吭,訪問(wèn)行和單元格是最簡(jiǎn)單的操作五嫂。后面將討論稍復(fù)雜的訪問(wèn)列操作。

日常結(jié)尾:
雖然這是個(gè)小小的計(jì)算程序村斟,但對(duì)于初學(xué)者的我來(lái)說(shuō)每一次對(duì)原代碼的升級(jí)改造贫导,哪怕是讀懂后的注釋都感覺(jué)是一次進(jìn)步提升,總之代碼雖小蟆盹,動(dòng)手最重要!希望更多學(xué)習(xí)Python的愛(ài)好者不要像我一樣眼高手低闺金,學(xué)習(xí)編程就是要逾滥,思考,敲碼败匹,思考寨昙,敲碼,敲碼掀亩,再敲碼舔哪!!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市槽棍,隨后出現(xiàn)的幾起案子捉蚤,更是在濱河造成了極大的恐慌,老刑警劉巖炼七,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缆巧,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡豌拙,警方通過(guò)查閱死者的電腦和手機(jī)陕悬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)按傅,“玉大人捉超,你說(shuō)我怎么就攤上這事胧卤。” “怎么了拼岳?”我有些...
    開(kāi)封第一講書人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵灌侣,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我裂问,道長(zhǎng)侧啼,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任堪簿,我火速辦了婚禮痊乾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘椭更。我一直安慰自己哪审,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布虑瀑。 她就那樣靜靜地躺著湿滓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪舌狗。 梳的紋絲不亂的頭發(fā)上叽奥,一...
    開(kāi)封第一講書人閱讀 52,268評(píng)論 1 309
  • 那天,我揣著相機(jī)與錄音痛侍,去河邊找鬼朝氓。 笑死,一個(gè)胖子當(dāng)著我的面吹牛主届,可吹牛的內(nèi)容都是我干的赵哲。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼君丁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼枫夺!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起绘闷,我...
    開(kāi)封第一講書人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤橡庞,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后簸喂,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體毙死,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年喻鳄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扼倘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖再菊,靈堂內(nèi)的尸體忽然破棺而出爪喘,到底是詐尸還是另有隱情,我是刑警寧澤纠拔,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布秉剑,位于F島的核電站,受9級(jí)特大地震影響稠诲,放射性物質(zhì)發(fā)生泄漏侦鹏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一臀叙、第九天 我趴在偏房一處隱蔽的房頂上張望略水。 院中可真熱鬧,春花似錦劝萤、人聲如沸渊涝。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)跨释。三九已至,卻和暖如春厌处,著一層夾襖步出監(jiān)牢的瞬間鳖谈,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工嘱蛋, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蚯姆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓洒敏,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親疙驾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子凶伙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容