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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將元素添加到嵌套列表的pythonic方法

將元素添加到嵌套列表的pythonic方法

富國滬深 2021-06-09 18:57:02
我有一個巢列表:listSchedule = [[list1], [list2], etc..]]我有另一個列表,如果每個嵌套列表的第一個元素與字符串匹配,我想將此列表的元素附加到每個嵌套列表中。我可以做到,但我想知道是否有更“pythonic”的方式,使用列表理解?index = 0;for row in listSchedule:   if row[0] == 'Download':      row[3] = myOtherList[index]      index +=1
查看完整描述

3 回答

?
一只名叫tom的貓

TA貢獻1906條經(jīng)驗 獲得超3個贊

您的代碼非常易讀,我不會更改它。

通過列表理解,您可以編寫如下內(nèi)容:

for index, row in enumerate([row for row in listSchedule if row[0] == 'Download']):
    row[3] = myOtherList[index]


查看完整回答
反對 回復 2021-06-22
?
神不在的星期二

TA貢獻1963條經(jīng)驗 獲得超6個贊

您可以嘗試這樣做,但復制 otherlist 以免丟失信息:


[row+[myotherlist.pop(0)] if row[0]=='Download' else row for row in listScheduel]

例如:


list = [['Download',1,2,3],[0,1,2,3],['Download',1,2,3],['Download',1,2,3]]

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

l = [ row+[otherlist.pop(0)] if row[0]=='Download' else row for row in list]

輸出:


[['Download', 1, 2, 3, 0],

[0, 1, 2, 3],

['Download', 1, 2, 3, 1],

['Download', 1, 2, 3, 2]]


查看完整回答
反對 回復 2021-06-22
?
慕慕森

TA貢獻1856條經(jīng)驗 獲得超17個贊

我們可以使用一個隊列,當滿足條件時將其值一一彈出。為了避免復制數(shù)據(jù),讓我們將隊列實現(xiàn)為myOtherList使用迭代器的視圖(感謝ShadowRanger)。


queue = iter(myOtherList)


for row in listSchedule:

    if row[0] == "Download":

        row.append(next(iter))


查看完整回答
反對 回復 2021-06-22
  • 3 回答
  • 0 關(guān)注
  • 270 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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