成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

python元祖函數(shù)語(yǔ)法,python素?cái)?shù)函數(shù)

Python其實(shí)很簡(jiǎn)單 第九章 列表與元組(一)

在前面,我們要保存一個(gè)數(shù)據(jù),需要先定義一個(gè)變量,而且一個(gè)變量中只能保存一個(gè)數(shù)據(jù)。譬如,語(yǔ)句:a1=1,值“1”就被保存了,但要保存“2”,就還需要再定義一個(gè)變量:a2=2......這樣以來(lái),隨著數(shù)據(jù)的增多,豈不是要定義更多的變量嗎?

公司主營(yíng)業(yè)務(wù):做網(wǎng)站、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。成都創(chuàng)新互聯(lián)推出樅陽(yáng)免費(fèi)做網(wǎng)站回饋大家。

可以使用一個(gè)新的數(shù)據(jù)類(lèi)型,它記錄很多數(shù)據(jù),并且將它們按照順序存儲(chǔ)在連續(xù)的內(nèi)存空間中,這便是序列。Python中有5種常用的序列結(jié)構(gòu),分別是列表、元組、集合、字典和字符串。

9.1列表

語(yǔ)法格式:

listname=[element1,element2,element3,......,elementn]

其中,listname為列表名,element1,element2,element3,......,elementn表示列表中的元素。各個(gè)元素的數(shù)據(jù)類(lèi)型可以相同,也可以不同,但通常元素的類(lèi)型都是相同的,含義也是相同的。

如:

list1=[‘風(fēng)’,’馬‘,’牛’,1,2,3,’a’,’b’,’c’]就沒(méi)有太多的實(shí)際用途。

list2=['張三','男',18,'13901001000']雖然元素的類(lèi)型不同,但表示了同一個(gè)人的信息。

1、訪問(wèn)列表元素

列表中元素的索引號(hào)從0開(kāi)始標(biāo)記,訪問(wèn)列表元素時(shí),可以直接按照索引號(hào)讀取。

如:

list2=['張三','男',18,'13901001000']

print(list2[1]) #輸出列表中索引號(hào)為1的元素

輸出結(jié)果:男

和字符串一樣,序列都是可以使用切片操作的。

如:

print(list2[:2])

輸出結(jié)果:['張三', '男']

print(list2[2:])

輸出結(jié)果:[18, '13901001000']

2、使用range()函數(shù)創(chuàng)建數(shù)值列表

格式:range(start, stop [,step]) ;start 指的是計(jì)數(shù)起始值,默認(rèn)是 0;stop 指的是計(jì)數(shù)結(jié)束值,但不包括 stop ;step 是步長(zhǎng),默認(rèn)為 1,不可以為 0 。range() 方法生成一段左閉右開(kāi)的整數(shù)范圍。

可以使用range()函數(shù)創(chuàng)建數(shù)值列表,如:

list1=list(range(10,20,2))

print(list1)

運(yùn)行結(jié)果:[10, 12, 14, 16, 18]

3、刪除列表

語(yǔ)法格式如下:

del listname

其中,listname為要?jiǎng)h除列表的名稱(chēng)。

刪除列表與刪除變量的方法是完全一樣的,前面已經(jīng)介紹過(guò)了。

4、遍歷列表

常用的遍歷列表的方法有是利用for語(yǔ)句,舉例如下:

list1=list(range(10))

for item in list1:

print(item,end=' ') # end=’ ‘表示以空格結(jié)束,如果不寫(xiě)這個(gè)參數(shù),相當(dāng)于默認(rèn)值end=’ ’

輸出結(jié)果:0 1 2 3 4 5 6 7 8 9

為了獲取列表元素的索引值,就需要使用enumerate()函數(shù)。

list1=list(range(10,20,2))

for index,item in enumerate(list1):

print(index,'-',item,end=' ')

輸出結(jié)果:0 - 10 1 - 12 2 - 14 3 - 16 4 - 18

5、追加、修改和刪除列表元素

追加元素

list1=['春','夏','秋']

list1.append('冬')

list1

['春', '夏', '秋', '冬']

還有一種方法,就是使用“+”號(hào)將兩個(gè)序列連接起來(lái)。如:

list1=['春','夏','秋']

list1=list1+['冬']

print(list1)

輸出結(jié)果為:['春', '夏', '秋', '冬']

注意,下面的做法是錯(cuò)誤的:

list1=['春','夏','秋']

list1=list1+'冬'

Traceback (most recent call last):

File " ", line 1, in

list1=list1+'冬'

TypeError: can only concatenate list (not "str") to list

從這個(gè)提示可知,列表只能與列表連接,而不能與字符串連接。

修改元素

list1[2]='autumn' #通過(guò)索引對(duì)元素直接賦值

print(list1)

['春', '夏', 'autumn', '冬']

刪除元素

del list1[2] #通過(guò)索引直接刪除元素

print(list1)

['春', '夏', '冬']

6、列表元素排序

在討論列表元素排序時(shí),為了將有序列表變成無(wú)序列表,這里用到了shuffle()函數(shù),但它不是Python的內(nèi)置函數(shù),需要先使用import語(yǔ)句將random模塊包含進(jìn)來(lái),這樣才能像使用內(nèi)置函數(shù)那樣使用擴(kuò)展模塊中的函數(shù)。

import random #導(dǎo)入random模塊

list1=list(range(10)) #生成列表,元素為0到9的整數(shù)。

list1

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

random.shuffle(list1) #用random包中的shuffle()函數(shù)將list1中元素次序打亂

list1

[8, 6, 3, 5, 0, 7, 1, 9, 2, 4]

list1.sort() #對(duì)list1升序排列

list1

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

random.shuffle(list1) #將list1順序重新打亂

list1

[5, 9, 7, 8, 4, 3, 2, 0, 6, 1]

list1.sort(reverse=True) #對(duì)list1降序排列

list1

[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

方法sort()的語(yǔ)法格式:

listname.sort(key=None,reverse=False)

其中,listname表示要排序的列表;key表示指定一個(gè)鍵,如”key=str.lower”表示排序時(shí)不區(qū)分字母大小寫(xiě);reverse為T(mén)rue表示降序排列(為默認(rèn)值,可省缺),為False表示升序排列。

還有一個(gè)函數(shù)sorted(),功能與方法sort()相似。格式如下:

sorted(listname,key=None,reverse=False)

7、 利用列表推導(dǎo)式快速生成一個(gè)列表

例1:生成指定范圍的數(shù)值列表。

import random

list1=[random.randint(0,20) for i in range(10)]

list1

[16, 20, 19, 6, 5, 7, 10, 5, 12, 5] #生成了包含10個(gè)值在0到20之間的元素構(gòu)成的列表。

例2:根據(jù)現(xiàn)有列表生成新的列表。

radius=list(range(1,6)) #生成列表 radius保存半徑的值

radius

[1, 2, 3, 4, 5]

s=[round(2*3.14*r,2) for r in radius]

#生成列表s,將計(jì)算得到的周長(zhǎng)值保存起來(lái),其中round()可以保留指定小數(shù)位,格式 round(var, n),var為變量名,n為指定保留小數(shù)位。

s

[6.28, 12.56, 18.84, 25.12, 31.4]

例3:從列表中選擇符合條件的元素組成新的列表。

score=[98,65,77,56,82,89] #列表score用來(lái)存儲(chǔ)成績(jī)

good=[x for x in score if x=80]

#從列表score中選取=80的元素存入新列表good中

good

[98, 82, 89]

count()、index()和sum()方法

count()方法

用于統(tǒng)計(jì)指定元素在列表中出現(xiàn)的次數(shù)。

例:

list1=['a','b','c','d','e','f','c','d','e','a','b','c','d']

num=list1.count('c') #統(tǒng)計(jì)列表list1中'c'的個(gè)數(shù)

num

3

index()方法

用于獲取指定元素在列表中第一次出現(xiàn)的索引值。

list1=['a','b','c','d','e','f','c','d','e','a','b','c','d']

position=list1.index('c')

position

2

sum()方法

用于計(jì)算數(shù)值列表中全部或指定元素的和。

list1=[1,2,3,4,5]

total=sum(list1) #計(jì)算列表list1中全部元素的和

total

15

total=sum(list1,1) #在列表list1全部元素的和后,在加上參數(shù)(“1”)的值

total

16

total=sum(list1[:2]) #計(jì)算切片list1[:2]中各元素的和

total

3

二維列表

格式:listname[下標(biāo)1][下標(biāo)2]

其中,listname表示列表的名稱(chēng),下標(biāo)1表示列表中的行號(hào),下標(biāo)2表示列表中的列號(hào)。對(duì)于n行m列的二維列表,第一個(gè)元素的行號(hào)和列號(hào)都是0,最后一個(gè)元素的行號(hào)和列號(hào)都是n-1。如下所示:

list[0][0] list[0][1] list[0][2] ............ list[0][m-1]

list[1][0] list[1][1] list[1][2] ............ list[1][m-1]

......

......

list[n-1][0] list[n-1][1] list[n-1][2] ............ list[n-1][m-1]

通俗地講,如果一個(gè)列表中的元素本身就是一個(gè)列表,則這個(gè)列表就是一個(gè)二維列表。

如:

list1=['a1','b1','c1','d1']

list2=['a2','b2','c2','d2']

list3=['a3','b3','c3','d3']

listtwo=[list1,list2,list3]

listtwo

[['a1', 'b1', 'c1', 'd1'], ['a2', 'b2', 'c2', 'd2'], ['a3', 'b3', 'c3', 'd3']]

如果要查看二維列表listtwo按照行、列的排列,可以運(yùn)行如下代碼:

for i in range(3):

for j in range(4):

print(listtwo[i][j],end=' ')

print()

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

a1 b1 c1 d1

a2 b2 c2 d2

a3 b3 c3 d3

如果要讀取二維列表中的某一行,可以使用如下方法:

listtwo[2] #讀取第3行的元素(注意索引號(hào)都是從0開(kāi)始的)

['a3', 'b3', 'c3', 'd3']

如果要讀取某一個(gè)元素的值,可以使用如下方法:

listtwo[2][2] #讀取第3行第3列的元素

'c3'

68 個(gè) Python 內(nèi)置函數(shù)詳解

內(nèi)置函數(shù)就是Python給你提供的,拿來(lái)直接用的函數(shù),比如print.,input等。

截止到python版本3.6.2 ,python一共提供了68個(gè)內(nèi)置函數(shù),具體如下

本文將這68個(gè)內(nèi)置函數(shù)綜合整理為12大類(lèi),正在學(xué)習(xí)Python基礎(chǔ)的讀者一定不要錯(cuò)過(guò),建議收藏學(xué)習(xí)!

(1)列表和元組

(2)相關(guān)內(nèi)置函數(shù)

(3)字符串

frozenset 創(chuàng)建一個(gè)凍結(jié)的集合,凍結(jié)的集合不能進(jìn)行添加和刪除操作。

語(yǔ)法:sorted(Iterable, key=函數(shù)(排序規(guī)則), reverse=False)

語(yǔ)法:fiter(function. Iterable)

function: 用來(lái)篩選的函數(shù). 在?lter中會(huì)自動(dòng)的把iterable中的元素傳遞給function. 然后根據(jù)function返回的True或者False來(lái)判斷是否保留留此項(xiàng)數(shù)據(jù) , Iterable: 可迭代對(duì)象

搜索公眾號(hào)頂級(jí)架構(gòu)師后臺(tái)回復(fù)“面試”,送你一份驚喜禮包。

語(yǔ)法 : map(function, iterable)

可以對(duì)可迭代對(duì)象中的每一個(gè)元素進(jìn)行映射. 分別去執(zhí)行 function

hash : 獲取到對(duì)象的哈希值(int, str, bool, tuple). hash算法:(1) 目的是唯一性 (2) dict 查找效率非常高, hash表.用空間換的時(shí)間 比較耗費(fèi)內(nèi)存

python(9):元組

元組是用逗號(hào)和圓括號(hào)定義的一種特殊的序列類(lèi)型,之所以說(shuō)它是特殊的,是因?yàn)樗坏┒x之后,不能修改元素,不能添加元素,也不能刪除元素,即它是不可變序列。元組一般有以下兩種定義方法:

元組與列表的異同:

都屬于序列類(lèi)型,列表是可變序列類(lèi)型,可隨時(shí)修改、添加或刪除元素,元組是不可變序列,其中的元素不可修改。

元組比列表的訪問(wèn)和處理速度更快,所以如果只需要對(duì)其中的元素進(jìn)行訪問(wèn),建議使用元組。

Python中的元組如何應(yīng)用?

元組是不可變的,即元組的項(xiàng)不能被修改。元組用圓括號(hào)“()”括起來(lái),并用逗號(hào)“,”來(lái)分隔其中的項(xiàng)。

例如,下面的元組包含了三個(gè)不同數(shù)據(jù)類(lèi)型的項(xiàng):

與列表不同的是,元組一旦創(chuàng)建就不可修改,如果嘗試修改,Python解釋器會(huì)報(bào)錯(cuò):

元組是一種序列類(lèi)型,因此,上一節(jié)介紹的通用序列操作元組也都支持,此處不再贅述。下面要介紹的是元組的另外一些用法或特性。

1、 創(chuàng)建元組

在創(chuàng)建元組時(shí),可以不用加圓括號(hào)(除非它是其他數(shù)據(jù)類(lèi)型的一部分,如一個(gè)在列表中的元組,此時(shí)必須加圓括號(hào)):

可以使用元組的工廠函數(shù)tuple()創(chuàng)建元組。如果要?jiǎng)?chuàng)建一個(gè)空的元組,可以使用不包含任何項(xiàng)的圓括號(hào)或者是沒(méi)有參數(shù)的tuple()函數(shù):

tuple()函數(shù)也可以有參數(shù),且參數(shù)必須為可迭代對(duì)象:

創(chuàng)建只有一個(gè)項(xiàng)的元組時(shí)有個(gè)“小陷阱”,即用圓括號(hào)創(chuàng)建元組時(shí),如果括號(hào)中只有一個(gè)項(xiàng),而沒(méi)有逗號(hào),那么創(chuàng)建的并不是元組,而是這個(gè)項(xiàng)本身的類(lèi)型:

創(chuàng)建只有一個(gè)項(xiàng)的元組,應(yīng)該在該項(xiàng)的后面緊跟著一個(gè)逗號(hào)(或者使用tuple()函數(shù)):

2、 嵌套元組

元組與列表一樣,可以嵌套,同樣元組中也可以包含列表:

關(guān)于Python的基礎(chǔ)問(wèn)題可以看下這個(gè)網(wǎng)頁(yè)的視頻教程,網(wǎng)頁(yè)鏈接,希望我的回答能幫到你。

python里面元組是什么意思?

↑↑↑點(diǎn)擊上方藍(lán)字,回復(fù)資料,10個(gè)G的驚喜

作者:陳tooyoung@阿里云Python訓(xùn)練營(yíng) 博客地址:

Python 是一種通用編程語(yǔ)言,其在科學(xué)計(jì)算和機(jī)器學(xué)習(xí)領(lǐng)域具有廣泛的應(yīng)用。如果我們打算利用 Python 來(lái)執(zhí)行機(jī)器學(xué)習(xí),那么對(duì) Python 有一些基本的了解就是至關(guān)重要的。本 Python 入門(mén)系列體驗(yàn)就是為這樣的初學(xué)者精心準(zhǔn)備的。

列表的定義

列表的創(chuàng)建

向列表中添加元素

刪除列表中的元素

獲取列表中的元素

列表的常用操作符

列表的其他方法

元組

創(chuàng)建和訪問(wèn)一個(gè)元組

更新和刪除一個(gè)元組

元組相關(guān)的操作符

內(nèi)置方法

解壓元組

列表

簡(jiǎn)單數(shù)據(jù)類(lèi)型

整型

浮點(diǎn)型

布爾型

容器數(shù)據(jù)類(lèi)型

列表

元組

字典

集合

字符串

列表的定義

列表是有序集合,沒(méi)有固定大小,能夠保存任意數(shù)量任意類(lèi)型的 Python 對(duì)象,語(yǔ)法為[元素1, 元素2, ..., 元素n]。

關(guān)鍵點(diǎn)是「中括號(hào) []」和「逗號(hào) ,」

中括號(hào) 把所有元素綁在一起

逗號(hào) 將每個(gè)元素一一分開(kāi)

列表的創(chuàng)建 創(chuàng)建一個(gè)普通列表x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

print(x, type(x))

# ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

x = [2, 3, 4, 5, 6, 7]

print(x, type(x))

# [2, 3, 4, 5, 6, 7]

利用range()創(chuàng)建列表x = list(range(10))

print(x, type(x))

# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

x = list(range(1, 11, 2))

print(x, type(x))

# [1, 3, 5, 7, 9]

x = list(range(10, 1, -2))

print(x, type(x))

# [10, 8, 6, 4, 2]

利用推導(dǎo)式創(chuàng)建列表x = [0] * 5

print(x, type(x))

# [0, 0, 0, 0, 0]

x = [0 for i in range(5)]

print(x, type(x))

# [0, 0, 0, 0, 0]

x = [i for i in range(10)]

print(x, type(x))

# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

x = [i for i in range(1, 10, 2)]

print(x, type(x))

# [1, 3, 5, 7, 9]

x = [i for i in range(10, 1, -2)]

print(x, type(x))

# [10, 8, 6, 4, 2]

x = [i ** 2 for i in range(1, 10)]

print(x, type(x))

# [1, 4, 9, 16, 25, 36, 49, 64, 81]

x = [i for i in range(100) if (i % 2) != 0 and (i % 3) == 0]

print(x, type(x))

# [3, 9, 15, 21, 27, 33, 39,

注意:

由于list的元素可以是任何對(duì)象,因此列表中所保存的是對(duì)象的指針。即使保存一個(gè)簡(jiǎn)單的[1,2,3],也有3個(gè)指針和3個(gè)整數(shù)對(duì)象。

x = [a] * 4操作中,只是創(chuàng)建4個(gè)指向list的引用,所以一旦a改變,x中4個(gè)a也會(huì)隨之改變。

x = [[0] * 3] * 4

print(x, type(x))

# [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]

x[0][0] = 1

print(x, type(x))

# [[1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0]]

a = [0] * 3

x = [a] * 4

print(x, type(x))

# [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]

x[0][0] = 1

print(x, type(x))

# [[1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0]]

創(chuàng)建一個(gè)混合列表mix = [1, 'lsgo', 3.14, [1, 2, 3]]

print(mix, type(mix))

# [1, 'lsgo', 3.14, [1, 2, 3]]

創(chuàng)建一個(gè)空列表empty = []

print(empty, type(empty)) # []

列表不像元組,列表內(nèi)容可更改 (mutable),因此附加 (append,extend)、插入 (insert)、刪除 (remove,pop) 這些操作都可以用在它身上。

向列表中添加元素

list.append(obj)在列表末尾添加新的對(duì)象,只接受一個(gè)參數(shù),參數(shù)可以是任何數(shù)據(jù)類(lèi)型,被追加的元素在 list 中保持著原結(jié)構(gòu)類(lèi)型。

x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

x.append('Thursday')

print(x)

# ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Thursday']

print(len(x)) # 6

此元素如果是一個(gè) list,那么這個(gè) list 將作為一個(gè)整體進(jìn)行追加,注意append()和extend()的區(qū)別。

x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

x.append(['Thursday', 'Sunday'])

print(x)

# ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', ['Thursday', 'Sunday']]

print(len(x)) # 6

list.extend(seq)在列表末尾一次性追加另一個(gè)序列中的多個(gè)值(用新列表擴(kuò)展原來(lái)的列表)

x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

x.extend(['Thursday', 'Sunday'])

print(x)

# ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Thursday', 'Sunday']

print(len(x)) # 7

嚴(yán)格來(lái)說(shuō)append是追加,把一個(gè)東西整體添加在列表后,而extend是擴(kuò)展,把一個(gè)東西里的所有元素添加在列表后。

list.insert(index, obj)在編號(hào)index位置插入obj。

x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

x.insert(2, 'Sunday')

print(x)

# ['Monday', 'Tuesday', 'Sunday', 'Wednesday', 'Thursday', 'Friday']

print(len(x)) # 6

刪除列表中的元素

list.remove(obj)移除列表中某個(gè)值的第一個(gè)匹配項(xiàng)

x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

x.remove('Monday')

print(x) # ['Tuesday', 'Wednesday', 'Thursday', 'Friday']

list.pop([index=-1])移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素),并且返回該元素的值

x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

y = x.pop()

print(y) # Friday

y = x.pop(0)

print(y) # Monday

y = x.pop(-2)

print(y) # Wednesday

print(x) # ['Tuesday', 'Thursday']

remove和pop都可以刪除元素,前者是指定具體要?jiǎng)h除的元素,后者是指定一個(gè)索引。

del var1[, var2 ……]刪除單個(gè)或多個(gè)對(duì)象。

如果知道要?jiǎng)h除的元素在列表中的位置,可使用del語(yǔ)句。

x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

del x[0:2]

print(x) # ['Wednesday', 'Thursday', 'Friday']

獲取列表中的元素

通過(guò)元素的索引值,從列表獲取單個(gè)元素,注意,列表索引值是從0開(kāi)始的。

通過(guò)將索引指定為-1,可讓Python返回最后一個(gè)列表元素,索引 -2 返回倒數(shù)第二個(gè)列表元素,以此類(lèi)推。

x = ['Monday', 'Tuesday', 'Wednesday', ['Thursday', 'Friday']]

print(x[0], type(x[0])) # Monday

print(x[-1], type(x[-1])) # ['Thursday', 'Friday']

print(x[-2], type(x[-2])) # Wednesday

切片的通用寫(xiě)法是start : stop : step

"start :"

以step為 1 (默認(rèn)) 從編號(hào)start往列表尾部切片。

x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

print(x[3:]) # ['Thursday', 'Friday']

print(x[-3:]) # ['Wednesday', 'Thursday', 'Friday']

": stop"

以step為 1 (默認(rèn)) 從列表頭部往編號(hào)stop切片。

week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

print(week[:3]) # ['Monday', 'Tuesday', 'Wednesday']

print(week[:-3]) # ['Monday', 'Tuesday']

"start : stop"

以step為 1 (默認(rèn)) 從編號(hào)start往編號(hào)stop切片。

week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

print(week[1:3]) # ['Tuesday', 'Wednesday']

print(week[-3:-1]) # ['Wednesday', 'Thursday']

- "start : stop : step"

以具體的step從編號(hào)start往編號(hào)stop切片。注意最后把step設(shè)為 -1,相當(dāng)于將列表反向排列。

week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

print(week[1:4:2]) # ['Tuesday', 'Thursday']

print(week[:4:2]) # ['Monday', 'Wednesday']

print(week[1::2]) # ['Tuesday', 'Thursday']

print(week[::-1])

# ['Friday', 'Thursday', 'Wednesday', 'Tuesday', 'Monday']

" : "

復(fù)制列表中的所有元素(淺拷貝)。

week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

print(week[:])

# ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

淺拷貝與深拷貝list1 = [123, 456, 789, 213]

list2 = list1

list3 = list1[:]

print(list2) # [123, 456, 789, 213]

print(list3) # [123, 456, 789, 213]

list1.sort()

print(list2) # [123, 213, 456, 789]

print(list3) # [123, 456, 789, 213]

list1 = [[123, 456], [789, 213]]

list2 = list1

list3 = list1[:]

print(list2) # [[123, 456], [789, 213]]

print(list3) # [[123, 456], [789, 213]]

list1[0][0] = 111

print(list2) # [[111, 456], [789, 213]]

print(list3) # [[111, 456], [789, 213]]

列表的常用操作符

等號(hào)操作符:==

連接操作符+

重復(fù)操作符*

成員關(guān)系操作符in、not in

「等號(hào) ==」,只有成員、成員位置都相同時(shí)才返回True。

列表拼接有兩種方式,用「加號(hào) +」和「乘號(hào) *」,前者首尾拼接,后者復(fù)制拼接。

list1 = [123, 456]

list2 = [456, 123]

list3 = [123, 456]

print(list1 == list2) # False

print(list1 == list3) # True

list4 = list1 + list2 # extend()

print(list4) # [123, 456, 456, 123]

list5 = list3 * 3

print(list5) # [123, 456, 123, 456, 123, 456]

list3 *= 3

print(list3) # [123, 456, 123, 456, 123, 456]

print(123 in list3) # True

print(456 not in list3) # False

前面三種方法(append,extend,insert)可對(duì)列表增加元素,它們沒(méi)有返回值,是直接修改了原數(shù)據(jù)對(duì)象。 而將兩個(gè)list相加,需要?jiǎng)?chuàng)建新的 list 對(duì)象,從而需要消耗額外的內(nèi)存,特別是當(dāng) list 較大時(shí),盡量不要使用 “+” 來(lái)添加list。

列表的其它方法

list.count(obj)統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)

list1 = [123, 456] * 3

print(list1) # [123, 456, 123, 456, 123, 456]

num = list1.count(123)

print(num) # 3

list.index(x[, start[, end]])從列表中找出某個(gè)值第一個(gè)匹配項(xiàng)的索引位置

list1 = [123, 456] * 5

print(list1.index(123)) # 0

print(list1.index(123, 1)) # 2

print(list1.index(123, 3, 7)) # 4

list.reverse()反向列表中元素

x = [123, 456, 789]

x.reverse()

print(x) # [789, 456, 123]

list.sort(key=None, reverse=False)對(duì)原列表進(jìn)行排序。

key-- 主要是用來(lái)進(jìn)行比較的元素,只有一個(gè)參數(shù),具體的函數(shù)的參數(shù)就是取自于可迭代對(duì)象中,指定可迭代對(duì)象中的一個(gè)元素來(lái)進(jìn)行排序。

reverse-- 排序規(guī)則,reverse = True降序,reverse = False升序(默認(rèn))。

該方法沒(méi)有返回值,但是會(huì)對(duì)列表的對(duì)象進(jìn)行排序。

x = [123, 456, 789, 213]

x.sort()

print(x)

# [123, 213, 456, 789]

x.sort(reverse=True)

print(x)

# [789, 456, 213, 123]

# 獲取列表的第二個(gè)元素

def takeSecond(elem):

return elem[1]

x = [(2, 2), (3, 4), (4, 1), (1, 3)]

x.sort(key=takeSecond)

print(x)

# [(4, 1), (2, 2), (1, 3), (3, 4)]

x.sort(key=lambda a: a[0])

print(x)

# [(1, 3), (2, 2), (3, 4), (4, 1)]

元組

「元組」定義語(yǔ)法為:(元素1, 元素2, ..., 元素n)

小括號(hào)把所有元素綁在一起

逗號(hào)將每個(gè)元素一一分開(kāi)

創(chuàng)建和訪問(wèn)一個(gè)元組

Python 的元組與列表類(lèi)似,不同之處在于tuple被創(chuàng)建后就不能對(duì)其進(jìn)行修改,類(lèi)似字符串。

元組使用小括號(hào),列表使用方括號(hào)。

元組與列表類(lèi)似,也用整數(shù)來(lái)對(duì)它進(jìn)行索引 (indexing) 和切片 (slicing)。

t1 = (1, 10.31, 'python')

t2 = 1, 10.31, 'python'

print(t1, type(t1))

# (1, 10.31, 'python')

print(t2, type(t2))

# (1, 10.31, 'python')

tuple1 = (1, 2, 3, 4, 5, 6, 7, 8)

print(tuple1[1]) # 2

print(tuple1[5:]) # (6, 7, 8)

print(tuple1[:5]) # (1, 2, 3, 4, 5)

tuple2 = tuple1[:]

print(tuple2) # (1, 2, 3, 4, 5, 6, 7, 8)

創(chuàng)建元組可以用小括號(hào) (),也可以什么都不用,為了可讀性,建議還是用 ()。

元組中只包含一個(gè)元素時(shí),需要在元素后面添加逗號(hào),否則括號(hào)會(huì)被當(dāng)作運(yùn)算符使用。

x = (1)

print(type(x)) #

x = 2, 3, 4, 5

print(type(x)) #

x = []

print(type(x)) #

x = ()

print(type(x)) #

x = (1,)

print(type(x)) #

print(8 * (8)) # 64

print(8 * (8,)) # (8, 8, 8, 8, 8, 8, 8, 8)

創(chuàng)建二維元組。

x = (1, 10.31, 'python'), ('data', 11)

print(x)

# ((1, 10.31, 'python'), ('data', 11))

print(x[0])

# (1, 10.31, 'python')

print(x[0][0], x[0][1], x[0][2])

# 1 10.31 python

print(x[0][0:2])

# (1, 10.31)

更新和刪除一個(gè)元組week = ('Monday', 'Tuesday', 'Thursday', 'Friday')

week = week[:2] + ('Wednesday',) + week[2:]

print(week) # ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday')

元組有不可更改 (immutable) 的性質(zhì),因此不能直接給元組的元素賦值,但是只要元組中的元素可更改 (mutable),那么我們可以直接更改其元素,注意這跟賦值其元素不同。

t1 = (1, 2, 3, [4, 5, 6])

print(t1) # (1, 2, 3, [4, 5, 6])

t1[3][0] = 9

print(t1) # (1, 2, 3, [9, 5, 6])

元組相關(guān)的操作符

等號(hào)操作符:==

連接操作符+

重復(fù)操作符*

成員關(guān)系操作符in、not in

「等號(hào) ==」,只有成員、成員位置都相同時(shí)才返回True。

元組拼接有兩種方式,用「加號(hào) +」和「乘號(hào) *」,前者首尾拼接,后者復(fù)制拼接。

t1 = (123, 456)

t2 = (456, 123)

t3 = (123, 456)

print(t1 == t2) # False

print(t1 == t3) # True

t4 = t1 + t2

print(t4) # (123, 456, 456, 123)

t5 = t3 * 3

print(t5) # (123, 456, 123, 456, 123, 456)

t3 *= 3

print(t3) # (123, 456, 123, 456, 123, 456)

print(123 in t3) # True

print(456 not in t3) # False

內(nèi)置方法

元組大小和內(nèi)容都不可更改,因此只有count和index兩種方法。

t = (1, 10.31, 'python')

print(t.count('python')) # 1

print(t.index(10.31)) # 1

count('python')是記錄在元組t中該元素出現(xiàn)幾次,顯然是 1 次

index(10.31)是找到該元素在元組t的索引,顯然是 1

解壓元組

解壓(unpack)一維元組(有幾個(gè)元素左邊括號(hào)定義幾個(gè)變量)

t = (1, 10.31, 'python')

(a, b, c) = t

print(a, b, c)

# 1 10.31 python

解壓二維元組(按照元組里的元組結(jié)構(gòu)來(lái)定義變量)

t = (1, 10.31, ('OK', 'python'))

(a, b, (c, d)) = t

print(a, b, c, d)

# 1 10.31 OK python

如果你只想要元組其中幾個(gè)元素,用通配符「*」,英文叫 wildcard,在計(jì)算機(jī)語(yǔ)言中代表一個(gè)或多個(gè)元素。下例就是把多個(gè)元素丟給了rest變量。

t = 1, 2, 3, 4, 5

a, b, *rest, c = t

print(a, b, c) # 1 2 5

print(rest) # [3, 4]

如果你根本不在乎 rest 變量,那么就用通配符「*」加上下劃線「_」。

t = 1, 2, 3, 4, 5

a, b, *_ = t

print(a, b) # 1 2

學(xué)習(xí)Python元組,有哪些必須要掌握的內(nèi)容

學(xué)習(xí)Python元組,有哪些必須要掌握的內(nèi)容?

1.Python元組

定義

元組是Python的一種內(nèi)建數(shù)據(jù)結(jié)構(gòu)。關(guān)于元組:

1、元組屬于序列,可以存放任意元素(任意類(lèi)型對(duì)象),且有序(前后位置關(guān)系)。

2、元組支持整數(shù)索引訪問(wèn)其中的數(shù)據(jù),也支持切片。

3、元組和列表不同是,元組不可變,列表可變。

元組不可變,某些操作比列表高效。

創(chuàng)建元組

可以用以下兩種方法創(chuàng)建元組:

1、使用()創(chuàng)建

2、使用構(gòu)造函數(shù)tuple()

圖:使用()創(chuàng)建元組

使用()可以創(chuàng)建元組,元組元素間使用”,”分隔,元組內(nèi)部元素可以是任意元素,也可以是元組。

圖:創(chuàng)建元組代碼示例

元組不可變除了不能修改,也不能刪除元組元素,但刪除與元組綁定的變量是沒(méi)問(wèn)題的。

圖:元組不可變

使用()方式創(chuàng)建只有一個(gè)元素的元組時(shí)要注意,因?yàn)橐粋€(gè)元素使用()括起來(lái),表示元素本身,如100, (100),兩者等價(jià),如果創(chuàng)建只包含100的元組應(yīng)該使用:(100,)方式。

圖:使用()創(chuàng)建只有一個(gè)元素的元組

使用構(gòu)造函數(shù)tuple()創(chuàng)建元組。了解更多信息可以使用help(tuple)來(lái)查看具體幫助內(nèi)容。

圖:tuple函數(shù)幫助

1、tuple()如果沒(méi)有參數(shù)創(chuàng)建一個(gè)空元組。

2、tuple(可迭代對(duì)象) 由可迭代對(duì)象創(chuàng)建一個(gè)元組,如字符串,列表。如果參數(shù)是元組將返回該元組。

圖:使用tuple函數(shù)創(chuàng)建元組

2.元組的訪問(wèn)

和字符串列表一樣,元組支持使用整數(shù)索引(下標(biāo)方式訪問(wèn)),也支持切片方式訪問(wèn)元組的元素。

下標(biāo)索引如果是正整數(shù)則從0開(kāi)始表示第一個(gè)元素,…… 最有一個(gè)元素用 元組長(zhǎng)度-1表示;如果使用負(fù)整數(shù)做下標(biāo),-1表示最后一個(gè)元素,-2表示倒數(shù)第二個(gè)元素,…… 負(fù)的長(zhǎng)度表示第一個(gè)元素。

!?。⌒枰⒁獾氖窍聵?biāo)索引不能越界?。?!

1、使用索引訪問(wèn):

圖:使用索引訪問(wèn)元組元素

2、切片訪問(wèn):

圖:使用切片訪問(wèn)元組

3.使用內(nèi)建的常用函數(shù)操作元組

常用內(nèi)建函數(shù)len、max、min、sum、reversed可以操作元組,函數(shù)解釋如下:

操作示例如下:

注意事項(xiàng):

使用min,max,sum函數(shù)操作元組,元組元素類(lèi)型能被函數(shù)接受才可以,否則將報(bào)異常等錯(cuò)誤。

4.元組常用方法

主要有count和index方法:

count返回元組中對(duì)應(yīng)值的個(gè)數(shù),index返回對(duì)應(yīng)值的位置(索引)。

5.元組運(yùn)算

元組支持 + 連接, * 復(fù)制運(yùn)算,in /not in 運(yùn)算

圖:元組運(yùn)算

6.序列

字符串,元組,列表都屬于Python的序列結(jié)構(gòu),序列具有很多相同的屬性和操作方法,如:序列中的每個(gè)元素被分配一個(gè)序號(hào)(位置,也叫索引),序號(hào)(索引)從0開(kāi)始,依次類(lèi)推;序列都支持切片操作等等。

圖:序列通用操作

Python內(nèi)置了多種序列結(jié)構(gòu):字符串、列表、元組、Unicode字符串、buffer對(duì)象、range對(duì)象。序列是Python中一種重要的數(shù)據(jù)結(jié)構(gòu),必須要掌握,也很容易掌握。

分享文章:python元祖函數(shù)語(yǔ)法,python素?cái)?shù)函數(shù)
文章鏈接:http://jinyejixie.com/article10/dssiddo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、App開(kāi)發(fā)Google、電子商務(wù)、外貿(mào)網(wǎng)站建設(shè)、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
开原市| 娄烦县| 湄潭县| 平顶山市| 晋宁县| 临江市| 六枝特区| 红桥区| 桦南县| 泰州市| 祁阳县| 平顶山市| 吴堡县| 甘洛县| 龙山县| 甘洛县| 灵山县| 乐陵市| 崇州市| 邵阳市| 清丰县| 松江区| 保亭| 湘潭县| 尚义县| 渭南市| 松江区| 乃东县| 东乌珠穆沁旗| 西和县| 祁门县| 永善县| 永春县| 朝阳区| 五大连池市| 佛教| 三亚市| 边坝县| 怀宁县| 万安县| 井研县|