国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

如何通過列表推導式合并兩個list?

jsyzchen / 1020人閱讀

摘要:如何合并兩個長度相等的示例輸入輸出方案遍歷兩個數組傳入的的長度需要相等上面給出了一個簡單的示例,就是通過一次帶有索引循環每次循環中將兩個中對應的元素插入新的。

如何合并兩個長度相等的list?

示例:

輸入:

list1: [1, 2, 3]

list2: ["a", "b", "c"]

輸出:

[1, "a", 2, "b", 3, "c"]

方案1: 遍歷兩個數組
def interleave_by_loop(list1, list2):
    if len(list1) != len(list2):
        raise ValueError("傳入的list的長度需要相等")

    new_list = []
    for index, value in enumerate(list1):
        new_list.append(value)
        new_list.append(list2[index])
    return new_list


list1 = [1, 2, 3]
list2 = ["a", "b", "c"]

if __name__ == "__main__":
    print(interleave_by_loop(list1, list2))
    # [1, "a", 2, "b", 3, "c"]
    

上面給出了一個簡單的示例,就是通過一次帶有索引for循環
每次循環中將兩個list中對應的元素插入新的list。

上面的方法可能是個比較通用的做法,但是在Python中可以寫的簡潔一點

方案2
def interleave(list1, list2):
    return [val for pair in zip(list1, list2) for val in pair]


list1 = [1, 2, 3]
list2 = ["a", "b", "c"]

if __name__ == "__main__":
    print(interleave(list1, list2))
    # [1, "a", 2, "b", 3, "c"]
    

這里,我們首先觀察下代碼,首先

zip(list1, list2) 把兩個列表合并成一個元組列表

然后我們通過for循環得到一個個元組

最后把元組解析成我們的列表

其實,我們還可以修改下我們的函數,使得我們的函數更加具有通用性

def interleave(*args):
    return [val for pair in zip(*args) for val in pair]


list1 = [1, 2, 3]
list2 = ["a", "b", "c"]
list3 = ["github", "google.com", "so"]

if __name__ == "__main__":
    print(interleave(list1, list2, list3))
    # [1, "a", "github", 2, "b", "google.com", 3, "c", "so"]
    

這樣我們的函數就可以接受任意多個列表了!

https://github.com/fish-bugs/...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/43831.html

相關文章

  • python面試常見問題

    摘要:和的的區別和的的區別返回列表,返回迭代器,節約內存當后面沒有元素可以的時候,彈出錯誤等是可迭代的但不是迭代器,因為函數無法調用它們。等是可迭代的但不是迭代器,因為函數無法調用它們。 ...

    Simon_Zhou 評論0 收藏0
  • 編寫高效且優雅的 Python 代碼(1)

    摘要:查看原函數的參數注釋甚至函數名的時候,只能看到裝飾器的相關信息。也就是說,它是裝飾器的裝飾器,并且以原函數為參數,作用是保留原函數的各種信息,使得我們之后查看被裝飾了的原函數的信息時,可以保持跟原函數一模一樣。 貌似只能創建一個專欄,所以這篇文章只好放到JavaScript從前端到全終端里了? 原文鏈接:Effective Python Python 作為一門入門極易并容易上癮的語...

    roadtogeek 評論0 收藏0
  • Python 進階之路 (八) 最用心的推導詳解 (附簡單實戰及源碼)

    摘要:什么是推導式大家好,今天為大家帶來問我最喜歡的推導式使用指南,讓我們先來看看定義推導式是的一種獨有特性,推導式是可以從一個數據序列構建另一個新的數據序列的結構體。 什么是推導式 大家好,今天為大家帶來問我最喜歡的Python推導式使用指南,讓我們先來看看定義~ 推導式(comprehensions)是Python的一種獨有特性,推導式是可以從一個數據序列構建另一個新的數據序列的結構體。...

    hufeng 評論0 收藏0
  • python基礎教程:list(列表)

    摘要:計算列表所有元素的和,其元素類型必須是數值型的整數浮點數返回一個排序的列表,但并不改變原列表。只有列表所有元素為才返回。列表的內置方法前面我們說的是語言的內置函數,這里我們講的是列表本身的內置方法。 Python的基本數據類型有整數,浮點數,布爾,字符串,它們是最基本的數據。在實際編程中,我們要經常組織由很多基本數據組成的集合,這些集合的不同組織方式就是:數據結構,今天講的是數據結構中...

    hearaway 評論0 收藏0
  • Python如何推導處理數據

      小編寫這篇文章的主要目的,就是給大家介紹下關于如何使用Python處理推導數據的方式,下面給大家貼出具體的代碼,大家要進行仔細的閱讀哦。  前言  推導式是一種獨特的數據處理方式,可以快速的從一個數據序列構建另一個新的數據序列的結構體。常用的推導式有一下四種:  列表推導式  元組推導式  集合推導式  字典推導式  1、列表推導式 #coding:utf-8   #Author:YangXi...

    89542767 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<