python3 list序列相關函式

2021-10-24 21:34:17 字數 1934 閱讀 2235

這部分的內容不僅僅是用於列表,一般來說其他的序列(比如元祖、字典、集合等)也是可以進行使用的。

(1)any(list):列表list中有乙個元素為邏輯真,則返回true,全為假時則返回false。注意any()返回的是false,在程式設計時要考慮序列為空的情況。

(2)all(list):列表在所有元素都為真時則返回true,否則返回false。注意all()返回的是true,在程式設計時要考慮序列為空的情況。

(3)max(list)或min(list):返回列表list中的最大值或最小值。

(4) enumerate():在列表中迴圈遍歷索引和元素,例:

list = [i for i in 'abcdefg']

for index,value in enumerate(list):   

print(index,value)

返回值:

0 a

1 b2 c

3 d4 e

5 f6 g

(5)求和sum函式

print(sum([1,2,3,4]))
返回值10

(6)篩選函式filter(function,sequence):對sequence進行篩選,滿足條件的返回給迭代器,function的返回值只能是true或false。

例子:找出1-22之間技能被2整除也可以被3整除的數

print(list(filter(lambda x:  x % 2 == 0 and x % 3 == 0,range(1,23))))
返回值[6, 12, 18]

(7)map(function,sequence):把sequence中的每乙個元素執行function操作,將結果通過迭代器返回。

例子,返回1-10的立方值。

print(list(map(lambda x:x**3,range(1,11))))
返回值如下:

[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]

另外,map也支援多個sequence,這就要求function也支援相應數量的引數輸入:

#(1到9的數字,步長為2)+(1到4的值,步長為1)

from operator import addprint(list(map(add,range(1,10,2),range(1,5))))

返回值如下:

[2, 5, 8, 11]
當兩邊的資料數量一致時,返回數量為該數量;當兩邊數量不一致時,返回結果取數量較低值。

(8)reduce(functiong,list[,init]):如果提供了init引數,第一輪將init和list[0]用function進行處理,得到的結果和list[1]在經過function函式處理,以此類推,知道結束:如果不提供init引數,則第一輪處理直接從list中取出兩個元素(list[0]和list[1])用function函式進行處理。

from functools import reduce

from operator import add

print(reduce(add,range(1,11)))

print("加入init")

print(reduce(add,range(1,11),20))

結果如下:

55

加入init

75

Python3 list注意的事項

list1 1,2,3,4 list2 list1 print list2 print id list1 id list2 列印出的結果如下 1,2,3,4 2087137645832 2087137645832可以看出,使用等號確實可以給列表賦值,但其在記憶體中的id是一樣的,說明實際上這其實是同...

python3 list列表的常用方法

python3 list列表的常用方法 li 1,2,3 clera 清除整個列表,慎用 li.clear help li.clear clear method of builtins.list instance l.clear none remove all items from l copy 是...

Prufer序列相關

最近做到一些題,用到了prufer序列,挺有用的,在這裡學習一下。prufer數列是無根樹的一種數列,通過乙個prufer序列可以唯一表示一棵頂點帶標號的無根樹,點數為n的樹轉化來的prufer數列長度為n 2,它有很多的性質 一種生成prufer序列的方法是迭代刪點,直到原圖僅剩兩個點。對於一棵頂...