国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python中你應(yīng)該知道的一些內(nèi)置函數(shù)

2020-02-23 04:30:53
字體:
供稿:網(wǎng)友

前言

python內(nèi)置了一些非常巧妙而且強(qiáng)大的內(nèi)置函數(shù),對初學(xué)者來說,一般不怎么用到,我也是用了一段時間python之后才發(fā)現(xiàn),哇還有這么好的函數(shù),這個函數(shù)都是經(jīng)典的而且經(jīng)過嚴(yán)格測試的,可以一下子省了你原來很多事情,代碼不僅簡潔易讀了很多,而且不用自己去閉門造車.既方便了自己又減少了bug。

一、sorted()

1)對于一個列表排序

sorted([100, 98, 102, 1, 40])>>>[1, 40, 98, 100, 102]

2)通過key參數(shù)/函數(shù)

比如一個長列表里面嵌套了很多字典元素,我們要按照每個元素的長度大小排序

L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]new_line=sorted(L,key=lambda x:len(x))print(new_line)>>>[{1: 9}, {1: 5, 3: 4}, {1: 3, 6: 3}, {1: 1, 2: 4, 5: 6}]

3)對由tuple組成的List排序

比如下面是學(xué)生里面的年齡的一個list

students = [('wang', 'A', 15), ('li', 'B', 12), ('zhang', 'B', 10)] print(sorted(students, key=lambda student : student[2])) >>>[('zhang', 'B', 10), ('li', 'B', 12), ('wang', 'A', 15)]

4)用cmp函數(shù)排序

students = [('wang', 'A', 15), ('li', 'B', 12), ('zhang', 'B', 10)] print(sorted(students, cmp=lambda x,y : cmp(x[0], y[0])) )>>>[('li', 'B', 12), ('wang', 'A', 15), ('zhang', 'B', 10)]

其實對于python的排序要仔細(xì)講,需要一整篇幅講它的排序算法,內(nèi)容非常多,感興趣的可以去看一下源碼,看它是如何設(shè)計的,這里只是先點一下.

二、map()

map可以根據(jù)提供的函數(shù)對指定序列做映射,它接受一個函數(shù)f和一個list,并通過把函數(shù)f以此作用在list上的每個元素,然后返回一個新的list,map函數(shù)的入?yún)⒁部梢允嵌鄠€.注意這個函數(shù)一定要有返回值(值值值重要的說三遍)。

不然就會返回新的list 類似[None, None, None, None, None, None, None, None, None]

適合的場景是對列表里面的一些元素需要重復(fù)的操作,用map就可以輕松搞定.

三、enumerate()

Python中,迭代永遠(yuǎn)是取出元素本身,而非元素的索引,有的時候我們需要知道元素的索引比如在一個很長的列表里面是一些網(wǎng)站名,我們希望在打印的時候,也能列出索引。若沒有這個函數(shù),我們需要在加一個變量,在循環(huán)打印的時候讓這個計數(shù)變量遞增,現(xiàn)在有了enumerate,就不用這么麻煩了,直接搞定.

四、zip()

zip函數(shù)接受任意多個(包括0個和1個)序列作為參數(shù),返回一個tuple列表

x = [1, 2, 3]y = [4, 5, 6]z = [7, 8, 9]xyz = zip(x, y, z)>>print xyz            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 永清县| 融水| 宁国市| 射阳县| 永济市| 惠安县| 藁城市| 湾仔区| 德格县| 东丽区| 永丰县| 阳新县| 兴业县| 泽州县| 宝坻区| 永善县| 祁阳县| 四子王旗| 武夷山市| 彰化市| 安福县| 兴海县| 和龙市| 密云县| 平度市| 民权县| 自治县| 海晏县| 新平| 侯马市| 邯郸市| 互助| 垫江县| 泰州市| 玉屏| 林口县| 上蔡县| 偃师市| 雅江县| 闸北区| 宜春市|