日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python 数据结构 list(3)

發(fā)布時間:2024/3/13 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 数据结构 list(3) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

list解析

先看下面的例子,這個例子是想得到1到9的每個整數(shù)的平方,并且將結(jié)果放在list中打印出來

>>> power2 = [] >>> for i in range(1,10): ... power2.append(i*i) ... >>> power2 [1, 4, 9, 16, 25, 36, 49, 64, 81]

python有一個非常有意思的功能,就是list解析,就是這樣的:

>>> squares = [x**2 for x in range(1,10)] >>> squares [1, 4, 9, 16, 25, 36, 49, 64, 81]
  • 找出100以內(nèi)的能夠被3整除的正整數(shù)。

我們用的方法是:

aliquot = []for n in range(1,100):if n%3 == 0:aliquot.append(n)print aliquot

用list解析重寫,會是這樣的:

>>> aliquot = [n for n in range(1,100) if n%3==0] >>> aliquot [3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]

另一個:

>>> print range(3,100,3) [3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]

其實,不僅僅對數(shù)字組成的list,所有的都可以如此操作。

>>> mybag = [' glass',' apple','green leaf '] #有的前面有空格,有的后面有空格 >>> [one.strip() for one in mybag] #去掉元素前后的空格 ['glass', 'apple', 'green leaf']

enumerate

這是一個有意思的內(nèi)置函數(shù),本來我們可以通過for i in range(len(list))的方式得到一個list的每個元素編號,然后在用list[i]的方式得到該元素。如果要同時得到元素編號和元素怎么辦?就是這樣了:

>>> for i in range(len(week)): ... print week[i]+' is '+str(i) #注意,i是int類型,如果和前面的用+連接,必須是str類型 ... monday is 0 sunday is 1 friday is 2

python中提供了一個內(nèi)置函數(shù)enumerate,能夠?qū)崿F(xiàn)類似的功能

>>> for (i,day) in enumerate(week): ... print day+' is '+str(i) ... monday is 0 sunday is 1 friday is 2

實驗:

>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter'] >>> list(enumerate(seasons)) [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] >>> list(enumerate(seasons, start=1)) [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

在這里有類似(0,‘Spring’)這樣的東西,這是另外一種數(shù)據(jù)類型,待后面詳解。

下面將enumerate函數(shù)和list解析聯(lián)合起來,同時顯示,在進(jìn)行l(wèi)ist解析的時候,也可以包含進(jìn)函數(shù)

>>> def treatment(pos, element): ... return "%d: %s"%(pos,element) ... >>> seq = ["hiekay","hiekay.github.io","python"] >>> [ treatment(i, ele) for i,ele in enumerate(seq) ] ['0: hiekay', '1: hiekay.github.io', '2: python']

函數(shù)lambda:

例如:

g = lambda x:x+1

ambda作為一個表達(dá)式,定義了一個匿名函數(shù),上例的代碼x為入口參數(shù),x+1為函數(shù)體,用函數(shù)來表示為:

def g(x):return x+1 >>> seq = ["hiekay","hiekay.github.io","python"] >>> foo = lambda i,ele:"%d:%s"%(i,ele) #lambda函數(shù),給代碼帶來了簡介 >>> [foo(i,ele) for i,ele in enumerate(seq)] ['0:hiekay', '1:hiekay.github.io', '2:python']

總結(jié)

以上是生活随笔為你收集整理的python 数据结构 list(3)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。