真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python中的列表-創(chuàng)新互聯(lián)

一、什么是列表

創(chuàng)新互聯(lián)公司是一家從事企業(yè)網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)站制作、行業(yè)門(mén)戶網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)制作的專(zhuān)業(yè)網(wǎng)站建設(shè)公司,擁有經(jīng)驗(yàn)豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁(yè)設(shè)計(jì)人員,具備各種規(guī)模與類(lèi)型網(wǎng)站建設(shè)的實(shí)力,在網(wǎng)站建設(shè)領(lǐng)域樹(shù)立了自己獨(dú)特的設(shè)計(jì)風(fēng)格。自公司成立以來(lái)曾獨(dú)立設(shè)計(jì)制作的站點(diǎn)上千家。

Python列表是線性表的一種表示方式。一個(gè)列表是n個(gè)數(shù)據(jù)元素的有限序列(a1,a2,…,an)。元素之間是相鄰關(guān)系,即第i-1個(gè)元素領(lǐng)先于第i個(gè)元素,第i個(gè)元素領(lǐng)先于第i+1個(gè)元素??梢詫⒌趇-1個(gè)元素稱(chēng)為第i個(gè)元素的直接前驅(qū)元素,第i+1個(gè)元素稱(chēng)為第i個(gè)元素的直接后繼元素。表中元素的個(gè)數(shù)為表的長(zhǎng)度,長(zhǎng)度為0的表稱(chēng)為空表。

Python列表中所存儲(chǔ)元素的具體含義,在不同的情況下可以不同,它可以是一個(gè)數(shù),也可以是字符串,甚至是更復(fù)雜的信息。它可以存儲(chǔ)Python的標(biāo)準(zhǔn)類(lèi)型,也可以存儲(chǔ)自定義的數(shù)據(jù)結(jié)構(gòu)及對(duì)象。Python對(duì)列表也提供了非常便捷的操作,列表可以執(zhí)行pop、sort、append、remove等操作,也可以合并其它列表,或者將列表切片(切分出子列表)。

1、列表的結(jié)構(gòu)

python的列表,相當(dāng)于其他編程語(yǔ)言的數(shù)組。

>>> mylist = [1,2,3,4]

>>> mylist

[1, 2, 3, 4]

2、列表的特點(diǎn)

● 列表中所有的數(shù)據(jù)都是按順序排列的,也就是說(shuō),列表屬于順序類(lèi)型

● 列表找那個(gè)的所有數(shù)據(jù)都是有兩個(gè)整數(shù)類(lèi)型的索引,通過(guò)制定索引總能映射到唯一確定的數(shù)據(jù)

● 列表中可以存在重復(fù)的數(shù)據(jù)

● 列表中可以保存任何類(lèi)型的數(shù)據(jù),多種類(lèi)型的數(shù)據(jù)可以混合存儲(chǔ)。

● 列表可以根據(jù)需要?jiǎng)討B(tài)的伸縮,也就是說(shuō),系統(tǒng)會(huì)根據(jù)需要?jiǎng)討B(tài)的分配和回收內(nèi)存。因此無(wú)需事先聲明列表的容量。

二、列表的創(chuàng)建

● 列表中可以存儲(chǔ)任意類(lèi)型的對(duì)象

創(chuàng)建列表的兩種方法

1、使用中括號(hào)[]

L = ['python',19,True] print (L) ['python', 19, True]

空列表創(chuàng)建

L = []

2、使用list的構(gòu)造方法

L = list(range(0,8,2)) print (L) [0, 2, 4, 6]

空列表的創(chuàng)建

L = list() print (L) []

三、列表的增刪改查

1、列表查操作

a)、列表中元素的索引

 列表中的每個(gè)元素都有兩個(gè)整數(shù)類(lèi)型的索引

  0  1  2  3  4   正數(shù)索引

--------------------------

| a | b | c | d | e |    列表

--------------------------

 -5  -4  -3  -2  -1   負(fù)數(shù)索引

b)、獲取列表中指定元素的索引

● index方法

查找元素的指定索引,如果索引不存在會(huì)拋出值錯(cuò)誤??梢灾付ú檎宜饕膕tart和stop。

L = [1,2,6,9,4,6,7] print (L.index(2))  # 1 print (L.index(6))  # 2  相同元素返回第一個(gè)元素的索引 print (L.index(11)) #ValueError: 11 is not in list 不存在的元素,會(huì)拋出值錯(cuò)誤 print (L.index(2,0,5)) # 1 查找元素2的索引,從索引0開(kāi)始,至5結(jié)束,但不包含5 print (L.index(6,3,6)) # 5 查看元素6的索引,從索引0開(kāi)始,至6結(jié)束,但不包含6

c)、使用[n]獲得列表中元素,但一次只能獲得一個(gè)元素

L = [1, 2, 6, 9, 4, 6, 7] print (L[0])  # 1  獲取索引為0的元素 print (L[-3]) # 4  獲取索引為-3的元素 print (L[-8]) #IndexError: list index out of range 如果索引不存在,則索引越界錯(cuò)誤。

d)、使用切片或者列表中的元素,一次獲得多個(gè)元素

● 語(yǔ)法格式 [start:stop:step]

1、得到的切片仍然是列表,是原始列表片段的一份拷貝

2、得到的切片不包括索引stop對(duì)應(yīng)的元素

3、如果不指定step,其默認(rèn)值為1,此時(shí)語(yǔ)法格式可以簡(jiǎn)化為[start:stop]

4、當(dāng)step為正數(shù)時(shí),

  如果不指定start,切片的第一個(gè)元素默認(rèn)為列表的第一個(gè)元素

  如果不指定stop,切片的最后一個(gè)元素默認(rèn)是列表的最后一個(gè)元素

  從索引start開(kāi)始計(jì)算切片

5、當(dāng)step為負(fù)數(shù)時(shí),

  如果不指定start,切片的第一個(gè)元素默認(rèn)是列表的最后一個(gè)元素

  如果不指定stop,切片的最后一個(gè)元素默認(rèn)為列表的第一個(gè)元素

  從索引start開(kāi)始往前計(jì)算切片

L = [5,6,3,1,9,8,4] print (L[1:5]) # [6, 3, 1, 9] print (L[::])  # [5, 6, 3, 1, 9, 8, 4] 列表所有值 print (L[::-1]) # [4, 8, 9, 1, 3, 6, 5] 列表所有值反轉(zhuǎn) print (L[:3:-1]) #[4, 8, 9] step為負(fù)數(shù)時(shí),不指定start,則為最后一個(gè)元素,stop為3則是索引3,步長(zhǎng)為1 print (L[-3::-1]) #[9, 1, 3, 6, 5] step為負(fù)數(shù)時(shí),不指定stop,則為最后一個(gè)元素,start為索引-3對(duì)應(yīng)的值,步長(zhǎng)為1

● 索引切片是允許越界的

L = [5, 6, 3, 1, 9, 8, 4] print (L[:100]) #[5, 6, 3, 1, 9, 8, 4] #起始索引不指定,默認(rèn)為第一個(gè)元素.但100超出大索引,則打印全部列表 print (L[-100:]) #[5, 6, 3, 1, 9, 8, 4] #結(jié)束索引不指定,默認(rèn)為最后一個(gè)元素,起始索引為-100(-7最后一個(gè)負(fù)數(shù)索引),打印全部列表

● 調(diào)用slice構(gòu)造方法

slice() list[slice(start,stop,step)] L = [5, 6, 3, 1, 9, 8, 4] print (L[slice(1,5,2)]) # [6, 1] print (L[1:5:2]) # [6, 1] print (L[slice(None,None,None)]) #[5, 6, 3, 1, 9, 8, 4],默認(rèn)值為None print (L[::]) #[5, 6, 3, 1, 9, 8, 4]

e) 、'in' or 'not in'檢查元素是否存在列表中

L = [5, 6, 3, 1, 9, 8, 4] in print (3 in L) #存在則為T(mén)rue True print (11 in L) #不存在為False False not in print (1 not in L) 1存在列表中,not in返回為False False print (11 not in L) 11不存在列表中,in返回為T(mén)rue True

2、列表增操作

a)、使用append()函數(shù)

''' append()方法,在末尾添加值 ''' L = [1,2,3,4] L.append(5) print (L) #[1, 2, 3, 4, 5] L.append([7,8]) print (L) #[1, 2, 3, 4, 5, [7, 8]]

b)、使用extend()方法,將所有元素依此添加至末尾

''' 調(diào)用extend方法,list.extend([])小括號(hào)中是方括號(hào) ''' L = [1,2,3,4] L.extend([1,2]) print (L) [1, 2, 3, 4, 1, 2]

c)、調(diào)用insert方法

''' 調(diào)用insert方法,將值插入指定位置 ''' L = [1,2,3,4] L.insert(1,6) print (L) #[1, 6, 2, 3, 4] #在列表末尾 L.insert(len(L),10) print (L) #[1, 6, 2, 3, 4, 10]

d)、為指定的切片賦予一個(gè)新值

L = [2,3,4,1] L[2:2] = [5,6] print (L) L = [2,3,4,1] L[len(L):] = [7,8] print (L)

3、列表改操作

想要修改列表中的元素,有兩種常見(jiàn)的方式

a)、為指定索引的元素賦予一個(gè)新值(一次只修改一個(gè)元素)

''' 將索引為1對(duì)應(yīng)的元素值改為9,一次只修改一個(gè)值 ''' L = [3,2,0,1,2,1] L[1] = 9 print (L) [3, 9, 0, 1, 2, 1]

b)、指定多個(gè)索引,一次修改多個(gè)元素

''' 修改元素索引1:4的值,對(duì)應(yīng)值要使用[] 左邊取得的索引值可以和右邊賦予的值個(gè)數(shù)不相同 ''' L = [3,2,0,1,2,1] L[1:4] = [4,5,6] print (L) [3, 4, 5, 6, 2, 1] L[1:4] = [3,7] print (L) [3, 3, 7, 2, 1] L[2:3] = [9] print (L) [3, 3, 9, 2, 1]

4、列表刪操作

a) 、調(diào)用方法remove一次只刪除一個(gè)元素,如果有相同元素,則刪除第一個(gè)

L = [2,3,4,5,6] L.remove(3) print (L) L = [3,4,3,1,2] L.remove(3) print (L)

b)、調(diào)用方法pop,一次只刪除一個(gè)指定索引的元素。

如果指定的索引不存在,會(huì)拋出index error,索引越界。如果不指定pop刪除的索引,那么將刪除列表中最后一個(gè)元素。

L = ['a','b','c','d','e'] print (L.pop(1)) # b,pop實(shí)際有返回值 print (L) # ['a', 'c', 'd', 'e'] print (L.pop()) print (L) #['a', 'b', 'c', 'd']

c)、使用del語(yǔ)句,一次至少刪除一個(gè)或多個(gè)元素

L = [1,2,3,4,5,6] del L[1] print (L) del L[1:3] print (L)

d)、給指定的切片賦值一個(gè)空列表,一次至少刪除一個(gè)或多個(gè)元素

L = [1,2,3,4,5,6,7,8] L[2:3] = [] print (L) #[1,2,3,5,6,7,8] L[3:6] = [] print (L) ##[1,2,3,8]

e)、調(diào)用方法clear清空列表

L = [1,2,3,4,5] L.clear() print (L) #[]

四、使用加法和乘法對(duì)列表進(jìn)行操作

1、使用加法對(duì)列表進(jìn)行操作,當(dāng)使用+=運(yùn)算符時(shí)候會(huì)對(duì)列表本身產(chǎn)生影響

L1 = [1,2] L2 = [3,4] L3 = L1 + L2 print (L1,L2,L3) #列表之間相加 [1, 2] [3, 4] [1, 2, 3, 4] L1 = L2 = [1,2] L1 += [3,4] print (L1,L2) #使用+=運(yùn)算符會(huì)對(duì)L2也產(chǎn)生影響 [1, 2, 3, 4] [1, 2, 3, 4] L1 = [1,2] L2 = L1[:] L1 += [3,4] print (L1,L2) #[1, 2, 3, 4] [1, 2]

2、使用乘法對(duì)列表進(jìn)行操作,使用*=運(yùn)算符時(shí)候會(huì)對(duì)列表本身產(chǎn)生影響

L1 = [1,2,3] L2 = [4,5,6] L1 = L1 * 2 print (L1) #[1, 2, 3, 1, 2, 3] L1 = L2 = [1,2] L1 *= 2 print (L1,L2) #[1, 2, 1, 2] [1, 2, 1, 2] L1 = [0] L1 *= 5 print(L1) #[0, 0, 0, 0, 0] 可用于創(chuàng)建指定元素個(gè)數(shù)的列表

五、列表反轉(zhuǎn)

1、調(diào)用方法 reverse,對(duì)列表中所有元素進(jìn)行反轉(zhuǎn)

L = [1,2,3,4,5] L.reverse() print (L)

2、調(diào)用內(nèi)置函數(shù)reversed,使用reversed進(jìn)行反轉(zhuǎn)的列表不發(fā)生改變,reversed返回值是一個(gè)迭代器對(duì)象

L = [1,2,3,4,5] L1 = reversed(L) print (L1)  # print (list(L1)) #[5, 4, 3, 2, 1]

六、列表的排序

1、調(diào)用方法sort()

#sort(),會(huì)對(duì)列表本身造成影響 L2 = ['java','python','shell'] L2.sort(key = len) print(L2)  #根據(jù)字符串長(zhǎng)度進(jìn)行排序,['java', 'shell', 'python'] L2 = [1,3,4,2,6,9,8,7] L2.sort() print(L2) #[1, 2, 3, 4, 6, 7, 8, 9]

2、調(diào)用內(nèi)置函數(shù)sorted()

sorted(),不會(huì)對(duì)列表本身造成影響 L2 = ['java','shell','python'] print(sorted(L2,key = str.upper)) #['java', 'python', 'shell'] L2 = [1,3,4,2,6,9,8,7] print(sorted(L2)) #[1, 2, 3, 4, 6, 7, 8, 9] print(L2) #[1, 3, 4, 2, 6, 9, 8, 7]

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


本文題目:Python中的列表-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://weahome.cn/article/djecoi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部