最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

跟老齊學(xué)Python之再深點,更懂list

 更新時間:2014年09月20日 16:26:05   投稿:hebedich  
對于list,由于她的確非常非常龐雜,在python中應(yīng)用非常廣泛,所以,雖然已經(jīng)介紹完畢了基礎(chǔ)內(nèi)容,這里還要用一講深入一點點,往往越深入越...

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]

看到這個結(jié)果,看官還不驚嘆嗎?這就是python,追求簡潔優(yōu)雅的python!

其官方文檔中有這樣一段描述,道出了list解析的真諦:

List comprehensions provide a concise way to create lists. Common applications are to make new lists where each element is the result of some operations applied to each member of another sequence or iterable, or to create a subsequence of those elements that satisfy a certain condition.

還記得前面一講中的那個問題嗎?

找出100以內(nèi)的能夠被3整除的正整數(shù)。
我們用的方法是:

aliquot = []

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

print aliquot

好了?,F(xiàn)在用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]

震撼了。絕對牛X!

其實,不僅僅對數(shù)字組成的list,所有的都可以如此操作。請在平復(fù)了激動的心之后,默默地看下面的代碼,感悟一下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

算是一個有意思的內(nèi)置函數(shù)了,主要是提供一個簡單快捷的方法。

官方文檔是這么說的:

復(fù)制代碼 代碼如下:

Return an enumerate object. sequence must be a sequence, an iterator, or some other object which supports iteration. The next() method of the iterator returned by enumerate() returns a tuple containing a count (from start which defaults to 0) and the values obtained from iterating over sequence:

順便抄錄幾個例子,供看官欣賞,最好實驗一下。

>>> 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ù)類型,待后面詳解。

相關(guān)文章

  • python 梯度法求解函數(shù)極值的實例

    python 梯度法求解函數(shù)極值的實例

    今天小編就為大家分享一篇python 梯度法求解函數(shù)極值的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python Playwright 文本框操作技巧

    Python Playwright 文本框操作技巧

    這篇文章主要介紹了Python Playwright 文本框操作技巧,包括如何獲得文本框的值,以及向文本框中添加單行和多行文本,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • Python API自動化框架總結(jié)

    Python API自動化框架總結(jié)

    在本篇文章里小編給大家整理的是關(guān)于Python API自動化框架總結(jié)內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2019-11-11
  • 去除python中的字符串空格的簡單方法

    去除python中的字符串空格的簡單方法

    在本篇文章里小編給大家整理了一篇關(guān)于去除python中的字符串空格的簡單方法,有興趣的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • python實現(xiàn)京東訂單推送到測試環(huán)境,提供便利操作示例

    python實現(xiàn)京東訂單推送到測試環(huán)境,提供便利操作示例

    這篇文章主要介紹了python實現(xiàn)京東訂單推送到測試環(huán)境,提供便利操作,涉及Python基于requests模塊的網(wǎng)絡(luò)請求操作相關(guān)使用技巧,需要的朋友可以參考下
    2019-08-08
  • Python fileinput模塊應(yīng)用詳解

    Python fileinput模塊應(yīng)用詳解

    說到fileinput,可能90%的碼農(nóng)表示沒用過,甚至沒有聽說過。這不奇怪,因為在python界,既然open可以走天下,何必要fileinput呢,今天我們來了解下它
    2022-09-09
  • python opencv實現(xiàn)圖片旋轉(zhuǎn)矩形分割

    python opencv實現(xiàn)圖片旋轉(zhuǎn)矩形分割

    這篇文章主要為大家詳細(xì)介紹了python opencv實現(xiàn)圖片旋轉(zhuǎn)矩形分割,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Python切換pip源兩種方法(解決pip?install慢)

    Python切換pip源兩種方法(解決pip?install慢)

    這篇文章主要給大家介紹了關(guān)于Python切換pip源兩種方法(解決pip?install慢),我總結(jié)的這幾種更換pip源的常用方式,希望可以幫助您成功配置國內(nèi)源,解決安裝Python包速度慢的問題,需要的朋友可以參考下
    2023-11-11
  • pytorch 一行代碼查看網(wǎng)絡(luò)參數(shù)總量的實現(xiàn)

    pytorch 一行代碼查看網(wǎng)絡(luò)參數(shù)總量的實現(xiàn)

    這篇文章主要介紹了pytorch實現(xiàn)一行代碼查看網(wǎng)絡(luò)參數(shù)總量的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • Python中的 Set 與 dict

    Python中的 Set 與 dict

    這篇文章主要介紹了Python中的 Set 與 dict,Set 集合類型有無序 , 自動去重等特點,dict 字典類型 鍵值對存儲的數(shù)據(jù),可獲取,可修改 表面上有序,實際存儲時無序,下面更多詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2022-03-03

最新評論

合川市| 河池市| 井研县| 安西县| 永靖县| 哈尔滨市| 哈尔滨市| 墨江| 林口县| 本溪| 当阳市| 宽城| 九江市| 扶绥县| 马关县| 双鸭山市| 栾川县| 天全县| 阿尔山市| 凯里市| 凉城县| 泸水县| 克拉玛依市| 泰安市| 乐东| 长垣县| 突泉县| 高尔夫| 东城区| 吉木萨尔县| 浮山县| 丽江市| 重庆市| 文登市| 皋兰县| 永福县| 宁蒗| 湖口县| 措勤县| 抚顺市| 林芝县|