第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在Python中從2D列表中打印1到多個(gè)項(xiàng)目

如何在Python中從2D列表中打印1到多個(gè)項(xiàng)目

慕容3067478 2024-01-04 17:29:15
我有一個(gè)包含 4 個(gè)項(xiàng)目的 2D 列表對(duì)象fps,該對(duì)象的長度為 2006(2006 行,每行包含 4 個(gè)元素)。該對(duì)象看起來像['0012', 'CCN[C@H]1CN', <rdkit.Chem.rdchem.Mol object at 0x7fea177a0260>, <rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fea0f2fd030>]['0015', 'CCN[H@H]1CN', <rdkit.Chem.rdchem.Mol object at 0x7fea177a0260>, <rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fea0f2fd030>]  ... so on我只想打印4th items. 所以我的代碼是for n in range(len(fps)-1):   print(fps[n][3])輸出看起來像<rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fcfa09f3170><rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fcfa09f31c0><rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fcfa09f3210>現(xiàn)在我想將所有第四個(gè)元素打印為1 to many關(guān)系類型。更具體地說,fps[n][3]將打印所有其余元素2005(僅第四列),依此類推。所以我寫了這個(gè)for n in range(len(fps)-1):   print(fps[n][3], fps[n+1:][3]) #Can I use for mapping但是,我的代碼對(duì)于第一次打印沒有問題,但對(duì)于第二次打印卻出現(xiàn)錯(cuò)誤。第二個(gè)給出整體2d list。輸出看起來像    <rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fde5df8f300> ['00299', 'Nc1nc(=O)c2ncn(CCC(CO)CO)c2[nH]1', <rdkit.Chem.rdchem.Mol object at 0x7fde5dfde530>, <rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fde5df8f440>]<rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fcfa09f34e0> ['15617', 'OC[C@H](O)[C@@H](O)[C@H](O)[C@H](O)CO[C@H]1O[C@H](CO[C@H]2O[C@H](CO)[C@@H](O)[C@H](O)[C@H]2O)[C@@H](O)[C@H](O)[C@H]1O.[Fe+3]', <rdkit.Chem.rdchem.Mol object at 0x7fcfa0a455d0>, <rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fcfa09f3620>]我的預(yù)期輸出是這樣的<rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fcfa09f3170> <rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fcfa09f31c0><rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fcfa09f3170> <rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x7fcfa09f3210>  對(duì)于更一般的方式我的預(yù)期輸出element_1 element_2element_1 element_3 element_1 element_4........element_1 element_2006element_2 element_1element_2 element_3......可以用這種方式打印嗎?
查看完整描述

2 回答

?
揚(yáng)帆大魚

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊

代碼“print(fps[n][3], fps[n+1:][3])”將首先打印主/父列表的元素 [n[ 的子列表的索引 [3] 處的元素。但之后,它將打印剩余的父列表,如代碼所示“[n+1:]”。分號(hào)告訴程序從元素 n+1 開始獲取列表直到末尾。相反,嘗試運(yùn)行嵌套循環(huán)來打印一對(duì)多關(guān)系,例如:


for one in fps:

    for many in fps:

        print(one[3], many[3])

外循環(huán)將從主列表中獲取一個(gè)元素并將其傳遞給內(nèi)循環(huán)。內(nèi)部循環(huán)將保留從外部循環(huán)傳遞的初始元素,并從主循環(huán)中獲取每個(gè)元素并打印兩者的第三個(gè)元素,直到每個(gè)元素完成為止。然后,外循環(huán)將下一個(gè)元素傳遞給內(nèi)循環(huán),依此類推。


查看完整回答
反對(duì) 回復(fù) 2024-01-04
?
倚天杖

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊

如果您想要的是這個(gè)列表:


fps = [[0,0,0,1], [0,0,0,2], [0,0,0,3], [0,0,0,4]]

你的預(yù)期輸出應(yīng)該是這樣的:


1 2

1 3

1 4

----------

2 1

2 3

2 4

----------

3 1

3 2

3 4

----------

4 1

4 2

4 3

----------

所以你可以這樣做:


fps = [[0,0,0,1], [0,0,0,2], [0,0,0,3], [0,0,0,4]]


for index_i,i in enumerate(fps): 

    one_fourth_item = i[3]

    for index_j,j in enumerate(fps):

        many_fourth_item = j[3]

        if index_i != index_j:

            print(one_fourth_item, many_fourth_item)

            

    print("----------")

我將嘗試用您在問題()中稱為“第二個(gè)”的代碼來解釋該問題fps[n+1:][3]:


首先,我們將其簡化為fps[n:][3]


該部分fps[n:]將返回源列表的一部分。


所以:


對(duì)于 n == 0 :[[0, 0, 0, 1], [0, 0, 0, 2], [0, 0, 0, 3], [0, 0, 0, 4]]


對(duì)于 n == 1 :[[0, 0, 0, 2], [0, 0, 0, 3], [0, 0, 0, 4]]


對(duì)于 n == 2 :[[0, 0, 0, 3], [0, 0, 0, 4]]


對(duì)于 n == 3 :[[0, 0, 0, 4]]


該部分[3]將返回切片的第三個(gè)元素(來自fps[n:])


因此,對(duì)于 n == 0,fps[n:][3]等于 : [[0, 0, 0, 1], [0, 0, 0, 2], [0, 0, 0, 3], [0, 0, 0, 4]][3],即[0,0,0,4]


問題是,對(duì)于 n == 1(在本例中),最后一個(gè)索引是 2,所以你得到IndexError: list index out of range


因此,您的代碼中至少存在以下兩個(gè)問題:fps[n:][3]您沒有選擇子列表的“第4項(xiàng)”,而是選擇源列表的“第4項(xiàng)”,并且當(dāng)“n”大于最后一項(xiàng)時(shí)你得到的索引IndexError: list index out of range。


對(duì)于+1中的部分fps[n+1:][3],也許您增加是n因?yàn)槟胩^“one”元素,以避免打印“element_1 element_1”或“element_2 element_2”?


查看完整回答
反對(duì) 回復(fù) 2024-01-04
  • 2 回答
  • 0 關(guān)注
  • 209 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)