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

Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)同時(shí)對(duì)數(shù)據(jù)做轉(zhuǎn)換和換算處理操作示例

 更新時(shí)間:2018年03月23日 11:55:05   作者:壟上行  
這篇文章主要介紹了Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)同時(shí)對(duì)數(shù)據(jù)做轉(zhuǎn)換和換算處理操作,涉及Python使用生成器表達(dá)式進(jìn)行數(shù)據(jù)處理的相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python同時(shí)對(duì)數(shù)據(jù)做轉(zhuǎn)換和換算處理操作。分享給大家供大家參考,具體如下:

問題:我們需要調(diào)用一個(gè)換算函數(shù)(例如sum()、min()max()),但是首先需對(duì)數(shù)據(jù)做轉(zhuǎn)換或者篩選處理

解決方案:非常優(yōu)雅的方法---在函數(shù)參數(shù)中使用生成器表達(dá)式

例如:

# 計(jì)算平方和
nums=[1,2,3,4,5]
s1=sum((x*x for x in nums))
s2=sum(x*x for x in nums) #更優(yōu)雅的用法
s3=sum([x*x for x in nums]) #不使用生成器表達(dá)式
print(s1)
print(s2)
print(s3)
# 判斷一個(gè)目錄下是否存在.py文件
import os
files = os.listdir(os.path.expanduser('~'))
print (files)
if any(name.endswith('.py') for name in files):
  print('There be python!')
else:
  print('Sorry, no python.')
# Output a tuple as CSV
s = ('ACME', 50, 123.45)
print(','.join(str(x) for x in s))
# Data reduction across fields of a data structure
portfolio = [
  {'name':'GOOG', 'shares': 50},
  {'name':'YHOO', 'shares': 75},
  {'name':'AOL', 'shares': 20},
  {'name':'SCOX', 'shares': 65}
]
min_shares = min(s['shares'] for s in portfolio)
print(min_shares)
min_shares2 = min(portfolio,key=lambda s:s['shares']) #使用生成器表達(dá)式
print(min_shares2)

運(yùn)行結(jié)果:

55
55
55
['.idlerc', '.oracle_jre_usage', 'AppData', 'Application Data', 'Contacts', 'Cookies', 'Desktop', 'Documents', 'Downloads', 'Favorites', 'HelloWorld', 'HelloWorld.zip', 'Links', 'Local Settings', 'log.html', 'Music', 'My Documents', 'mysite', 'mysite.zip', 'NetHood', 'NTUSER.DAT', 'ntuser.dat.LOG1', 'ntuser.dat.LOG2', 'NTUSER.DAT{6cced2f1-6e01-11de-8bed-001e0bcd1824}.TM.blf', 'NTUSER.DAT{6cced2f1-6e01-11de-8bed-001e0bcd1824}.TMContainer00000000000000000001.regtrans-ms', 'NTUSER.DAT{6cced2f1-6e01-11de-8bed-001e0bcd1824}.TMContainer00000000000000000002.regtrans-ms', 'ntuser.ini', 'output.xml', 'Pictures', 'pip', 'PrintHood', 'Recent', 'report.html', 'Saved Games', 'Searches', 'SendTo', 'Templates', 'Videos', '「開始」菜單']
Sorry, no python.
ACME,50,123.45
20
{'shares': 20, 'name': 'AOL'}

總結(jié):

該方案展示了當(dāng)把生成器表達(dá)式作為函數(shù)的參數(shù)時(shí)在語法上的一些微妙之處(即,不必重復(fù)使用圓括號(hào)),比如,如下的兩行代碼表示的是同一個(gè)意思:

s=sum((x*x for x in nums))
s=sum(x*x for x in nums) #更優(yōu)雅的用法
s3=sum([x*x for x in nums]) #不使用生成器表達(dá)式

比起首先創(chuàng)建一個(gè)臨時(shí)列表,使用生成器做參數(shù)更為高效和優(yōu)雅。

(代碼摘自《Python Cookbook》)

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

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

相關(guān)文章

  • matplotlib常見函數(shù)之plt.rcParams、matshow的使用(坐標(biāo)軸設(shè)置)

    matplotlib常見函數(shù)之plt.rcParams、matshow的使用(坐標(biāo)軸設(shè)置)

    這篇文章主要介紹了matplotlib常見函數(shù)之plt.rcParams、matshow的使用(坐標(biāo)軸設(shè)置),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • python 處理微信對(duì)賬單數(shù)據(jù)的實(shí)例代碼

    python 處理微信對(duì)賬單數(shù)據(jù)的實(shí)例代碼

    本文通過實(shí)例代碼給大家介紹了python 處理微信對(duì)賬單數(shù)據(jù),代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 使用Anaconda3建立虛擬獨(dú)立的python2.7環(huán)境方法

    使用Anaconda3建立虛擬獨(dú)立的python2.7環(huán)境方法

    今天小編就為大家分享一篇使用Anaconda3建立虛擬獨(dú)立的python2.7環(huán)境方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python 利用pandas將arff文件轉(zhuǎn)csv文件的方法

    python 利用pandas將arff文件轉(zhuǎn)csv文件的方法

    今天小編就為大家分享一篇python 利用pandas將arff文件轉(zhuǎn)csv文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • django注冊(cè)用郵箱發(fā)送驗(yàn)證碼的實(shí)現(xiàn)

    django注冊(cè)用郵箱發(fā)送驗(yàn)證碼的實(shí)現(xiàn)

    這篇文章主要介紹了django注冊(cè)用郵箱發(fā)送驗(yàn)證碼的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python內(nèi)置函數(shù)之filter map reduce介紹

    Python內(nèi)置函數(shù)之filter map reduce介紹

    Python內(nèi)置了一些非常有趣、有用的函數(shù),如:filter、map、reduce,都是對(duì)一個(gè)集合進(jìn)行處理,filter很容易理解用于過濾,map用于映射,reduce用于歸并. 是Python列表方法的三架馬車
    2014-11-11
  • 詳解Python解決抓取內(nèi)容亂碼問題(decode和encode解碼)

    詳解Python解決抓取內(nèi)容亂碼問題(decode和encode解碼)

    這篇文章主要介紹了Python解決抓取內(nèi)容亂碼問題(decode和encode解碼),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Python3內(nèi)置模塊之base64編解碼方法詳解

    Python3內(nèi)置模塊之base64編解碼方法詳解

    這篇文章主要介紹了Python3內(nèi)置模塊之base64編解碼方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 對(duì)python3新增的byte類型詳解

    對(duì)python3新增的byte類型詳解

    今天小編就為大家分享一篇對(duì)python3新增的byte類型詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 如何將你的應(yīng)用遷移到Python3的三個(gè)步驟

    如何將你的應(yīng)用遷移到Python3的三個(gè)步驟

    這篇文章主要介紹了如何將你的應(yīng)用遷移到Python3的三個(gè)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12

最新評(píng)論