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

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

合并兩個列表中的元素

合并兩個列表中的元素

狐的傳說 2021-11-16 16:43:06
我想以一種特殊的方式合并python中的兩個數(shù)組。我的輸出數(shù)組的奇數(shù)索引的out條目應(yīng)該是我的第一個輸入數(shù)組的對應(yīng)條目in0。具有偶數(shù)索引的條目out應(yīng)是我的第二個輸入數(shù)組的對應(yīng)條目 in1。in0,in1并且out都是相同的長度。例子:輸入數(shù)組in0 = [0, 1, 2, 3] in1 = [4, 5, 6, 7]應(yīng)合并到輸出數(shù)組out = [0, 5, 2, 7]有沒有比循環(huán)輸入的整個長度并out“手動”填充我的更好的方法?
查看完整描述

3 回答

?
互換的青春

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

您可以使用列表理解并從in0偶數(shù)索引和in1奇數(shù)索引中選擇值:

[in0[i] if i % 2 == 0 else in1[i] for i in range(len(in0))]
# [0, 5, 2, 7]


查看完整回答
反對 回復(fù) 2021-11-16
?
一只甜甜圈

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

如果您樂于制作完整的列表副本,那么切片很簡單:


>>> in0 = [0, 1, 2, 3]

>>> in1 = [4, 5, 6, 7]

>>> out = in0[:]

>>> out[1::2] = in1[1::2]

>>> out

[0, 5, 2, 7]


查看完整回答
反對 回復(fù) 2021-11-16
?
蕭十郎

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

如果你不介意一些冗長...


from itertools import cycle


in0 = [0, 1, 2, 3]

in1 = [4, 5, 6, 7]


out = [pair[i] for pair, i in zip(zip(in0, in1), cycle([0,1]))]

這個怎么運作:

  1. zip(in0, in1)是一個元組序列, (0,4), (1,5), (2,6), (3,7)。

  2. cycle([0,1]) 是無盡的交替 0 和 1 流,用作步驟 1 中元組中的索引。

  3. zip(zip(...), cycle(...)) 產(chǎn)生一對元組和索引:

    (0, (0,4)), (1, (1,5)), (0, (2,6)), (1, (3,7)).
  4. 列表理解從每個元組中獲取正確的元素。

最后,列表推導(dǎo)式是一個通用版本

[(0,4)[0], (1,5)[1], (2,6)[0], (3,7)[1]]


查看完整回答
反對 回復(fù) 2021-11-16
  • 3 回答
  • 0 關(guān)注
  • 247 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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