python——列表

一去枷、列表的作用

列表在Python中是一個(gè)任意類型對(duì)象位置的相關(guān)有序集合,它沒(méi)有固定大小是复,根據(jù)數(shù)據(jù)量的不同可以動(dòng)態(tài)變化删顶。可以對(duì)列表中的數(shù)據(jù)進(jìn)行賦值淑廊、修改逗余、添加、刪除等操作季惩。與C\C++中一維數(shù)組類似录粱,其索引index是從0開始的而不是從1開始的』埃可以對(duì)列表進(jìn)行索引啥繁、切片、分割等操作青抛。
列表的分割通過(guò)設(shè)置索引的頭下標(biāo)和尾下標(biāo)實(shí)現(xiàn)[頭下標(biāo):尾下標(biāo)]旗闽,這樣就可以截取列表中對(duì)應(yīng)范圍內(nèi)的數(shù)值。列表也有其特殊性,列表可以從左向右進(jìn)行索引适室,索引號(hào)默認(rèn)從’0’開始嫡意,列表也可以從右向左進(jìn)行索引,最右側(cè)索引號(hào)尾’-1’捣辆,不要忘記’-‘鹅很,這表明了列表的索引方向;列表也可以混合存儲(chǔ)整型罪帖、浮點(diǎn)型和字符串等類型的數(shù)據(jù)促煮。

二、列表的操作

Python標(biāo)準(zhǔn)庫(kù)中提供了更多對(duì)列表進(jìn)行操作的函數(shù)如:

1整袁、list.len(): 求取列表中元素個(gè)數(shù)
2菠齿、list.append(x): 把元素x添加到列表的結(jié)尾
3、list.extend(L): 將一個(gè)給定列表中的所有元素都添加到另一個(gè)列表中
4坐昙、list.insert(i, x): 在指定位置i處插入一個(gè)元素x绳匀,需要注意的是元素會(huì)插入在原位置元素之前
5、list.remove(x): 刪除列表中值為x的第一個(gè)元素,如果列表中沒(méi)有這樣的元素炸客,就會(huì)返回一個(gè)錯(cuò)誤疾棵。
6、list.pop([i]): 從列表的制定位置刪除元素痹仙,并將其返回是尔。如果沒(méi)有指定索引,a.pop()返回的將是列表中最后一個(gè)元素开仰,元素隨即將從列表中刪除(pop([i])中表示元素i是可選的拟枚,在實(shí)際使用中不需要添加[],在Python的文檔中也常遇到這樣的問(wèn)題)
7、list.index(x): 返回列表中第一個(gè)值為x的元素的索引

#創(chuàng)建一個(gè)列表
list1 = [0,1,2,3,4,5,6,7,8,9]
#求列表的元素個(gè)數(shù)众弓,并賦值給listLength
listLength = len(list1)
#向列表添加一個(gè)元素10
list1.append(10)
 #向list1列表中添加一個(gè)列表list2
list3 = ['a','b','c']
list1.extend(list2)
#在指定位置處插入一個(gè)元素
list1.insert(1,'abc')
#刪除list1列表中的值為0的元素
list1.remove(0)
#刪除list1列表中指定的位置元素
element = list1.pop()
#查找list1列表中值為5的位置下標(biāo)
index = list1.index(5)
print('list1 = %s'%list1)
print('listLength = %s'%listLength)
print('element = %s'%element)
print('index =%s '%index)

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


三恩溅、雙端隊(duì)列(把列表當(dāng)作隊(duì)列使用)

雙端隊(duì)列(Double-ended queue 或稱 deque)在需要按元素增加的順序來(lái)移除元素時(shí)非常有用。collections 模塊中的 deque 類型(它為在首尾兩端快速插入和刪除而設(shè)計(jì))谓娃。雙端隊(duì)列通過(guò)可迭代對(duì)象(比如集合)創(chuàng)建脚乡,而且有些非常用用的方法

from collections import deque #首先從collections 模塊中導(dǎo)入deque類
下來(lái)我們定義一個(gè)雙端隊(duì)列
1、 A=deque([]) #創(chuàng)建一個(gè)空的雙隊(duì)列
2滨达、 A.append(n) #從右邊像隊(duì)列中增加元素 奶稠,n表示增加的元素
3、 A.appendleft(n) #從左邊像隊(duì)列中增加元素弦悉,n表示增加的元素
4窒典、 A.clear() #清空隊(duì)列
5蟆炊、 A.count(n) #在隊(duì)列中統(tǒng)計(jì)元素的個(gè)數(shù)稽莉,n表示統(tǒng)計(jì)的元素
6、 A.extend(n) #從右邊擴(kuò)展隊(duì)列涩搓,n表示擴(kuò)展的隊(duì)列
7污秆、A.extendleft(n) #從左邊擴(kuò)展隊(duì)列劈猪,n表示擴(kuò)展的隊(duì)列
8、 A.pop() #從隊(duì)列的右邊刪除元素良拼,并且返回刪除值
9.战得、A.popleft() #從隊(duì)列的左邊刪除元素,并且返回刪除值
10庸推、A.remove(n) #從隊(duì)列中刪除指定的值
11常侦、A.reverse() #翻轉(zhuǎn)隊(duì)列
12、A.rotate(n) #旋轉(zhuǎn)隊(duì)列贬媒,默認(rèn)時(shí)值為1聋亡,由右邊開始旋轉(zhuǎn),負(fù)值代表左邊旋轉(zhuǎn)际乘,n代表從隊(duì)列的第一個(gè)元素開始坡倔,n從1開始計(jì)數(shù)

>>> from collections import deque
>>> q = deque(range(5))
>>> q.append(5)
>>> q.appendleft(6)
>>> q
deque([6, 0, 1, 2, 3, 4, 5])
>>> q.pop()
5
>>> q.popleft()
6
>>> q.rotate(3) #右移 3 次
19
>>> q
deque([2, 3, 4, 0, 1])
>>> q.rotate(-1) #左移一次
>>> q
deque([3, 4, 0, 1, 2])

雙端隊(duì)列好用的原因是它能有效地在開頭(左側(cè))增加和彈出元素,這是在列表中
無(wú)法實(shí)現(xiàn)的脖含。除此之外罪塔,它還能夠有效地旋轉(zhuǎn)(rotate)元素(也就是將它們左移或右
移,使頭尾相連)养葵。;

四征堪、總結(jié)

1、list是一種可變的數(shù)據(jù)類型关拒,跟整型和字串類型不一樣请契,list中的數(shù)據(jù)可以在內(nèi)存中進(jìn)行修改,整型和字符串類型則不能修改夏醉。
2爽锥、列表操作無(wú)非分成增刪改查四種類型操作,增:append()函數(shù)畔柔,expend()函數(shù)氯夷,insert()函數(shù);刪:remove()函數(shù)靶擦,pop()函數(shù)腮考;改:可以通過(guò)下標(biāo)的方式,對(duì)數(shù)據(jù)進(jìn)行修改玄捕,如list1 = ['a','b','c']踩蔚,list1[0] = 0,得到的結(jié)果為:list1 = [0,'b','c'];查:index()函數(shù)
3枚粘、append()函數(shù)添加元素時(shí)會(huì)追加到列表的末尾馅闽;使用remove()函數(shù)時(shí),如果要?jiǎng)h除的元素并不在列表中,會(huì)報(bào)錯(cuò)福也;pop()函數(shù)默認(rèn)刪除的是列表末尾的元素(即列表最后一個(gè))局骤,返回值為刪除的元素;index()函數(shù)查找時(shí)暴凑,返回要查找元素在列表中的位置下標(biāo)峦甩,如果列表中不存在該元素,會(huì)報(bào)錯(cuò)现喳。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末凯傲,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子嗦篱,更是在濱河造成了極大的恐慌泣洞,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件默色,死亡現(xiàn)場(chǎng)離奇詭異球凰,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)腿宰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門呕诉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人吃度,你說(shuō)我怎么就攤上這事甩挫。” “怎么了椿每?”我有些...
    開封第一講書人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵伊者,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我间护,道長(zhǎng)亦渗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任汁尺,我火速辦了婚禮法精,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘痴突。我一直安慰自己搂蜓,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開白布辽装。 她就那樣靜靜地躺著帮碰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪拾积。 梳的紋絲不亂的頭發(fā)上殉挽,一...
    開封第一講書人閱讀 49,929評(píng)論 1 290
  • 那天丰涉,我揣著相機(jī)與錄音,去河邊找鬼此再。 笑死,一個(gè)胖子當(dāng)著我的面吹牛玲销,可吹牛的內(nèi)容都是我干的输拇。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼贤斜,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼策吠!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起瘩绒,我...
    開封第一講書人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤猴抹,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后锁荔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蟀给,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年阳堕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了跋理。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡恬总,死狀恐怖前普,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情壹堰,我是刑警寧澤拭卿,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站贱纠,受9級(jí)特大地震影響峻厚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谆焊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一目木、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧懊渡,春花似錦刽射、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至肾档,卻和暖如春摹恰,著一層夾襖步出監(jiān)牢的瞬間辫继,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工俗慈, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留姑宽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓闺阱,卻偏偏與公主長(zhǎng)得像炮车,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子酣溃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容