在Python語言當中,一個很神奇的特性則是串列推到式了,它能夠從一個串列里面篩選出你滿意的部分,并重新組成一個串列,甚至可以對篩選的串列的內容進行修改
比如說我們有一維串列:
list=[1,3,5,6,2,34,7,3,5,8]
我們想把其中大于10數字抽取出來,并重新通過append()方法生成一個大于數字10的串列,因此書寫串列推倒式:
[num for num in list if num>10]
得到:
[34]
可見,34是在這個list當中最大的數字,同時重新組成一個新的串列,那么串列推倒式的通常寫法則是這樣的:
[運算式或變數 for 變數 in list if陳述句]
第一個是我們的運算式或者變數,表示使用append方法重新進入新串列的變數是什么,需要和for右邊的變數有一定的關聯,不然這個變數是沒有申明過的話是會報錯的,也可以將符合條件的變數做了一定修改之后再放到第一個運算式或者變數的地方,append進入新的串列,比如說我們想要list當中大于10的數字,同時讓這個數字加一,我們該如何書寫這個串列推倒式呢?:
[num+1 for num in list if num>10]
也就是將append到新串列當中的每一個數字num+1再寫入串列推倒式當中,最后得到的結果也很顯然是[35]了,您感興趣的話可以自己試試看,或者我們有一個新的串列,串列里面充滿了人的名字,我們需要找到長度大于三的人名,并同時將長度大于三的人名首字母大寫,最后再重新得到一個新的串列,代碼改如何書寫呢?代碼的書寫方法如下所示,首先創建串列:
list=["bob","mike","kelly","ao li gei"]
書寫串列推倒式:
[name.capitalize() for name in list if len(name)>3]
得到:
['Mike', 'Kelly', 'Ao li gei']
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/147665.html
標籤:Python
