欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python列表解析操作實例總結(jié)

 更新時間:2020年02月26日 10:58:01   作者:luckycyong  
這篇文章主要介紹了Python列表解析操作,結(jié)合實例形式總結(jié)分析了Python列表解析常見的列表推導式、循環(huán)語句、條件列表、嵌套列表等相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Python列表解析操作。分享給大家供大家參考,具體如下:

列表解析

Python 的強大特性之一是其對 list 的解析,它提供一種緊湊的方法,可以通過對 list 中的每個元素應(yīng)用一個函數(shù),從而將一個 list 映射為另一個 list。
列表解析,又叫列表推導式( list comprehension)
列表解析比 for 更精簡,運行更快,特別是對于較大的數(shù)據(jù)集合
列表解析可以替代絕大多數(shù)需要用到 map和 filter的場合

列表推導式提供了一個創(chuàng)建鏈表的簡單途徑,無需使用 map() , filter() 以及 lambda 。以定義方式得到列表通常要比使用構(gòu)造函數(shù)創(chuàng)建這些列表更清晰。每一個列表推導式包括在一個 for 語句之后的表達式,零或多個 for 或 if 語句。返回值是由 for 或 if 子句之后的表達式得到的元素組成的列表。如果想要得到一個元組,必須要加上括號。

基本列表解析

基本

>>> [x for x in range(5)]  # [0, 1, 2, 3, 4]
l1 = [1,2,3,4]
[ x*2 for x in l1]  #[2,4,6,8]

多個值的

[ '%s = %s' for (k, v) in a_map.items()]

兩次循環(huán)

>>> l1 = [1,2,3,4]
>>> l2 = [1,2,3,4]
>>> [x+y for x in l1 for y in l2]
[2, 3, 4, 5, 3, 4, 5, 6, 4, 5, 6, 7, 5, 6, 7, 8]

可以調(diào)用函數(shù)

[ func(x) for x in l1] #等價于map

注意,列表解析不會改變原有列表的值,會創(chuàng)建新的list

條件列表解析
[ x for x in range(100) if x%2 ==0 ]
嵌套列表解析
mat = [ [1, 2, 3],[4, 5, 6], [7, 8, 9]]

交換行列

[ [row[i] for row in mat] for i in (0,1,2)] #[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
其他:

1.根據(jù)索引取元素時,需要進行邊界檢查 IndexError 切片取,不需要,超過邊界不會異常

2.在迭代中修改列表 注意,不安全,不建議這么干 但是可以 for i in l1[:]: l1.insert()……

3.多個list合成一個 就是

['a','b',.....],['a','b'.....]['a','b'.....]

變?yōu)?/p>

['a','b',.....,'a','b'.....'a','b'.....]

處理

>>> sum ([[ 'a', 'b' ],['a' , 'b'],[ 'a' ,'b' ]], [])
['a' , 'b' , 'a', 'b' , 'a' , 'b']
>>> list (itertools .chain([ 'a' ,'b' ],[ 'a', 'b' ],['a' , 'b']))
['a' , 'b' , 'a', 'b' , 'a' , 'b']

4.關(guān)于堆棧和隊列

通過上面的操作,可以發(fā)現(xiàn),很輕易可以拿列表當做堆棧或者隊列使用
當然,他們有自己的模塊,可以查相關(guān)庫

5.序列相關(guān)模塊

array 一種受限制可變序列類型,要求所有元素必須是相同類型

copy 提供淺拷貝和深拷貝的能力

operator 包含函數(shù)調(diào)用形式的序列操作符,如 operator.concat(m,n) 相當于m+n

re 正則表達式

types 包含Python 支持的所有類型

collections 高性能容器數(shù)據(jù)類型

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python列表(list)操作技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • python類中super() 的使用解析

    python類中super() 的使用解析

    super() 函數(shù)是用于調(diào)用父類(超類)的一個方法。這篇文章主要介紹了python類中super() 的使用,需要的朋友可以參考下
    2019-12-12
  • 淺談numpy數(shù)組初始化的幾種方法

    淺談numpy數(shù)組初始化的幾種方法

    本文主要介紹了淺談numpy數(shù)組初始化的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • pandas去重復行并分類匯總的實現(xiàn)方法

    pandas去重復行并分類匯總的實現(xiàn)方法

    這篇文章主要介紹了pandas去重復行并分類匯總的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-01-01
  • Python 帶有參數(shù)的裝飾器實例代碼詳解

    Python 帶有參數(shù)的裝飾器實例代碼詳解

    這篇文章主要介紹了Python 裝飾器,帶有參數(shù)的裝飾器實例代碼詳解,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-12-12
  • 支持python的分布式計算框架Ray詳解

    支持python的分布式計算框架Ray詳解

    Ray是一種分布式執(zhí)行框架,便于大規(guī)模應(yīng)用程序和利用先進的機器學習庫,今天給大家分享支持python的分布式計算框架Ray詳解,感興趣的朋友一起看看吧
    2021-07-07
  • Python實現(xiàn)對二維碼數(shù)據(jù)進行壓縮

    Python實現(xiàn)對二維碼數(shù)據(jù)進行壓縮

    當前二維碼的應(yīng)用越來越廣泛,包括疫情時期的健康碼也是應(yīng)用二維碼的典型案例。本文的目標很明確,就是使用python,實現(xiàn)一張二維碼顯示更多信息,代碼簡單實用,感興趣的可以了解一下
    2023-02-02
  • Tensorflow--取tensorf指定列的操作方式

    Tensorflow--取tensorf指定列的操作方式

    這篇文章主要介紹了Tensorflow--取tensorf指定列的操作方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python 多線程其他屬性以及繼承Thread類詳解

    Python 多線程其他屬性以及繼承Thread類詳解

    這篇文章主要介紹了Python 多線程其他屬性以及繼承Thread類詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Python qqbot 實現(xiàn)qq機器人的示例代碼

    Python qqbot 實現(xiàn)qq機器人的示例代碼

    這篇文章主要介紹了Python qqbot 實現(xiàn)qq機器人的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • Python Process創(chuàng)建進程的2種方法詳解

    Python Process創(chuàng)建進程的2種方法詳解

    這篇文章主要介紹了Python Process創(chuàng)建進程的2種方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01

最新評論