五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動(dòng)態(tài)

python列表與列表算法詳解

發(fā)布日期:2022-02-10 08:01 | 文章來(lái)源:源碼中國(guó)

1. 序列類(lèi)型定義

序列是具有先后關(guān)系的一組元素

  • 序列是一維元素向量,元素類(lèi)型可以不同
  • 類(lèi)似數(shù)學(xué)運(yùn)算序列:S0,S1,…,S(n-1)
  • 元素間由序號(hào)引導(dǎo),通過(guò)下表訪(fǎng)問(wèn)序列的特定元素

序列是一個(gè)基類(lèi)類(lèi)型


序列處理函數(shù)及方法


序列類(lèi)型通用函數(shù)和方法

2. 列表的基礎(chǔ)知識(shí)

2.1 列表定義

列表(list):是可變的序列型數(shù)據(jù),也是一種可以存儲(chǔ)各種數(shù)據(jù)類(lèi)型的集合,用中括號(hào)([ ])表示列表的開(kāi)始和結(jié)束,列表中的各元素之間使用半角逗號(hào)(,)分隔,且列表中每個(gè)元素都有一個(gè)對(duì)應(yīng)的下標(biāo)。

1)列表是序列類(lèi)型的一種擴(kuò)展,十分常用

  • 列表是一種序列類(lèi)型,創(chuàng)建后可以隨意被修改
  • 使用[ ]或list()創(chuàng)建,元素間用英文逗號(hào)分隔
  • 列表中各元素類(lèi)型可以不同,無(wú)限長(zhǎng)度
a = []#空列表
a = [1,2,3,None,'bdshsvh',[1,2,3,5]]

列表中的數(shù)據(jù)可以是python支持的任意數(shù)據(jù)。

2)列表的下標(biāo)

列表的下表也是從0開(kāi)始表示,反向則從-1開(kāi)始。

2.2 列表基本操作

列表支持對(duì)集合元素進(jìn)行增加、查找、修改、刪除、合并操作等。


1)列表元素的增加

append()方法:存在元素的列表尾部新增元素。

>>> fruits = ['apple',5,'peach',2,'watermelon',12] #原有列表
>>> fruits.append('pear')#用append()方法增加新元素
>>> fruits.append(15)
>>> print(fruits)
['apple', 5, 'peach', 2, 'watermelon', 12, 'pear', 15]

insert()方法:可以在列表的任意指定位置增加元素。insert()方法的第一個(gè)參數(shù)為需要插入元素的列表的下表,第二個(gè)參數(shù)為指定的新增元素值。

>>> fruits.insert(0,'starfruit')
>>> fruits.insert(1,14.2)
>>> print(fruits)
['starfruit', 14.2, 'apple', 5, 'peach', 2, 'watermelon', 12, 'pear', 15]

2)列表元素查找

index()方法:語(yǔ)法格式L.index(value,[start[,stop]]),其中L為列表對(duì)象,value代表需要在列表中查找的元素,start代表在列表中查找元素時(shí)開(kāi)始查找的下標(biāo)數(shù),stop代表查找結(jié)束時(shí)的下標(biāo)數(shù),start和stop參數(shù)可選。若查找到元素,則返回第一個(gè)找到的元素,若沒(méi)有找到,則返回“ValueError…”錯(cuò)誤信息。

>>> fruits.index("pear")
8
>>> fruits.index(1)
Traceback (most recent call last):
  File "<pyshell#15>", line 1, in <module>
 fruits.index(1)
ValueError: 1 is not in list
>>> fruits.index(2,5,12)
5

in成員運(yùn)算符判斷

>>> 'a' in fruits
False

用in判斷的好處是不會(huì)產(chǎn)生報(bào)錯(cuò)信息。

用下標(biāo)讀取對(duì)應(yīng)的元素

>>> fruits[5]
2
>>> fruits[8]
'pear'

切片讀取

>>> fruits[5:]
[2, 'watermelon', 12, 'pear', 15]

3)列表元素修改

列表通過(guò)指定下標(biāo),對(duì)對(duì)應(yīng)的元素進(jìn)行賦值修改。

>>> ls = ['Tom',1,5,8]
>>> ls[2] = 8
>>> ls
['Tom', 1, 8, 8]
>>> ls[3] = '元'
>>> ls
['Tom', 1, 8, '元']

4)列表元素修改

clear()方法:清楚列表中的所有元素。

>>> fruits.clear()
>>> fruits
[]
>>> len(fruits)
0

pop()方法:語(yǔ)法格式L.pop([index]),L代表列表,index為可選參數(shù),當(dāng)指定index參數(shù)時(shí),刪除對(duì)應(yīng)下標(biāo)位置處的元素(如果指定的參數(shù)值不在列表下標(biāo)數(shù)中,會(huì)報(bào)錯(cuò))。pop()默認(rèn)刪除列表尾部的第一個(gè)元素。

>>> listpop = ['球1','球2','球3']
>>> get_one = listpop.pop()
>>> print(get_one,'',listpop)
球3  ['球1', '球2']
>>> listpop.pop(2)
Traceback (most recent call last):
  File "<pyshell#29>", line 1, in <module>
 listpop.pop(2)
IndexError: pop index out of range

remove()方法:L.remove(value),L代表列表,value代表要?jiǎng)h除的元素,如果要?jiǎng)h除的元素有多個(gè)時(shí),只會(huì)刪除左邊的第一個(gè)。

>>> listpop = ['球1','球2','球3','球2']
>>> listpop.remove('球2')
>>> listpop
['球1', '球3', '球2']
>>> 

del函數(shù):可以刪除指定的元素,也可以刪除整個(gè)列表。

>>> del(listpop[2])
>>> listpop
['球1', '球3']
>>> del(listpop)
>>> listpop
Traceback (most recent call last):
  File "<pyshell#36>", line 1, in <module>
 listpop
NameError: name 'listpop' is not defined
>>> 

5)列表元素合并

對(duì)于兩個(gè)列表對(duì)象的合并,可以通過(guò)extend()方法

>>> team1 = ["張三","李四","王五"]
>>> team2 = ["Tom","John"]
>>> team1.extend(team2)
>>> team1
['張三', '李四', '王五', 'Tom', 'John']
>>> 

采用“+”也可以實(shí)現(xiàn)兩個(gè)列表對(duì)象的合并,但是會(huì)改變team1的內(nèi)存地址,表示team1合并后被重新定義了,不再是最初的team1.

>>> team1 = ["張三","李四","王五"]
>>> team2 = ["Tom","John"]
>>> id(team1)
2172213272840
>>> team1.extend(team2)
>>> id(team1)
2172213272840
>>> team1 = team1 + team2
>>> team1
['張三', '李四', '王五', 'Tom', 'John']
>>> id(team1)
2172213337736

6)列表元素排序

sort()方法:L.sort(key=None,reverse=False),L表示列表,key為可選參數(shù),用于指定在作比較之前調(diào)用何種函數(shù)對(duì)元素進(jìn)行處理,如key = str.lower(將大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母函數(shù)),reverse為可選參數(shù),默認(rèn)情況下為增序(一般根據(jù)ASCII碼從小到大對(duì)字符、數(shù)字進(jìn)行排序)排序。

>>> fruits = ['banana','pear','apple','peach']
>>> fruit_1 = fruits.copy()
>>> fruit_1.sort()
>>> fruit_1
['apple', 'banana', 'peach', 'pear']
>>> fruit_h = fruits.copy()
>>> fruit_h.sort(reverse=True)
>>> fruit_h
['pear', 'peach', 'banana', 'apple']
>>> 
fruits = ['banana','pear','Apple','peach']
>>> fruit_s = fruits.copy()
>>> fruit_s
['Apple', 'banana', 'peach', 'pear']

7)列表其他操作方法

copy()方法:對(duì)列表進(jìn)行拷貝。

>>> fruit_s = fruits.copy()
>>> fruit_s
['banana', 'pear', 'Apple', 'peach']
>>> id(fruits)
2172213342792
>>> id(fruit_s)
2172213273608

count()方法:對(duì)列表指定元素個(gè)數(shù)進(jìn)行統(tǒng)計(jì)。

>>> vegetable = ['白菜','青菜','蘿卜','芹菜','菠菜','白菜','花菜']
>>> vegetable.count('白菜')
2

reverse()方法:對(duì)列表對(duì)象永久性反向記錄。

>>> vegetable = ['白菜','青菜','蘿卜','芹菜','菠菜','白菜','花菜']
>>> vegetable.reverse()
>>> vegetable
['花菜', '白菜', '菠菜', '芹菜', '蘿卜', '青菜', '白菜']
>>> 

列表解析

語(yǔ)法:

[expression for iter_val in iterable]
[expression for iter_val in iterable if cond_expr]

說(shuō)明:expression為基于元素的運(yùn)算表達(dá)式,如i**2,對(duì)每一個(gè)元素求平方,iter_val為從列表iterable迭代獲取的元素i,if子句判斷元素,cond_expr為判斷元素表達(dá)式。

>>> nums = [i**2 for i in range(11) if i>0]
>>> nums
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> 

相當(dāng)于:

>>> nums =[]
>>> for i in range(1,11):
	nums.append(i**2)
>>> nums
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> 

總結(jié)

本篇文章就到這里了,希望能給你帶來(lái)幫助,也希望您能夠多多關(guān)注本站的更多內(nèi)容!

國(guó)外服務(wù)器租用

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線(xiàn)路精選!

全天候客戶(hù)服務(wù)

7x24全年不間斷在線(xiàn)

專(zhuān)屬顧問(wèn)服務(wù)

1對(duì)1客戶(hù)咨詢(xún)顧問(wèn)

在線(xiàn)
客服

在線(xiàn)客服:7*24小時(shí)在線(xiàn)

客服
熱線(xiàn)

400-630-3752
7*24小時(shí)客服服務(wù)熱線(xiàn)

關(guān)注
微信

關(guān)注官方微信
頂部