動(dòng)漫人物
2019-07-27 10:36:51
在Python中交錯(cuò)多個(gè)相同長(zhǎng)度的列表在Python中,是否有一種交錯(cuò)兩個(gè)相同長(zhǎng)度列表的好方法?說我給[1,2,3]和[10,20,30]。我想把它們變成[1,10,2,20,3,30]。
3 回答

繁星coding
TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊
發(fā)布問題后,我意識(shí)到我可以簡(jiǎn)單地執(zhí)行以下操作:
[val for pair in zip(l1, l2) for val in pair]
兩個(gè)列表的位置l1
和l2
位置。
如果有N個(gè)列表要交錯(cuò),那么
lists = [l1, l2, ...][val for tup in zip(*lists) for val in tup]
有關(guān)更多配方,請(qǐng)按照最佳方式將列表與其后綴值交錯(cuò)。所展示的一些方法可以推廣到兩個(gè)或更多個(gè)相等長(zhǎng)度的列表。

烙印99
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊
對(duì)于Python> = 2.3,有擴(kuò)展的切片語(yǔ)法:
>>> a = [0, 2, 4, 6, 8]>>> b = [1, 3, 5, 7, 9]>>> c = a + b>>> c[::2] = a>>> c[1::2] = b>>> c[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
該行c = a + b
用作創(chuàng)建完全正確長(zhǎng)度的新列表的簡(jiǎn)單方法(在此階段,其內(nèi)容并不重要)。接下來的兩行交錯(cuò)的實(shí)際工作a
和b
:第一個(gè)指定的元素a
全部偶數(shù)的指標(biāo)c
; 第二個(gè)將b
所有奇數(shù)索引的元素分配給c
。
添加回答
舉報(bào)
0/150
提交
取消