3.列表

python - 列表

1.列表基本操作

  • 創(chuàng)建列表
>>> num=[1,2,4]
>>> print(num)
[1, 2, 4]
  • 向列表添加元素
    • append( ) 方法添加單個元素。
    • extend( ) 方法通過列表來擴(kuò)展列表。
>>> num.append(6)
>>> print(num)
[1, 2, 4, 6]

>>> num.extend([7,8])
>>> print(num)
[1, 2, 4, 6, 7, 8]
  • 列表解析:列表解??將for循環(huán)和創(chuàng)建新元素的代碼合并成一行,并自動??加新元素。
listx = [value**2 for value in range(1,11)]
print(listx)
結(jié)果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
  • 插入元素
    • insert( a,b)方法,a表示位置,b表示插入的元素兢榨。
>>> num.insert(0,4)
>>> print(num)
[4, 1, 2, 4, 6, 7, 8]
  • 獲取元素,列表索引
>>> print(num)
[4, 1, 2, 4, 6, 7, 4, 4, 8]
>>> num[1]
1

listx = [6,7,1,4,7]
print(listx[-1]) //從右往左索引顺饮,依次為-1吵聪、-2...
結(jié)果:
7
  • 刪除元素
    • remove( ):無需指定位置,保證元素在列表中存在即可兼雄,不然會報錯吟逝。
    • del( ):可以指定刪除某個位置上的元素,也可直接寫表名刪除整張表赦肋。
    • pop( ):默認(rèn)彈出最有一個元素块攒,可以彈出指定位置上的元素励稳。
>>> list = [1,2,3,4]
>>> list.remove(2) //remove不能刪除指定位置的元素
>>> list
[1, 3, 4]
>>> list
[1, 3, 4]
>>> del list[0] //del是一個語句,無需寫成del()
>>> list
[3, 4]

>>> listx=[1,2,3,4]  //list是一個關(guān)鍵字囱井,不建議作為變量使用
>>> del listx
>>> listx
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'listx' is not defined
>>> listx=[1,2,3,4]
>>> listx.pop() //把最后一個元素4彈出
4
>>> listx
[1, 2, 3]
>>> listx.pop(0) //彈出指定位置元素
1

2.列表分片

列表分片:使用 隔開兩個索引值驹尼,左邊是開始位置,右邊是結(jié)束位置庞呕,索引值是從0開始的新翎。
例如:listx = [0:2]

所謂列表分片,其實是建立了一個原列表的拷貝

分片簡寫

>>> listx = [1,2,3,4,5]
>>> listx[:]  //僅:表示整個列表
[1, 2, 3, 4, 5]
>>> listx[3:] //結(jié)束位不寫默認(rèn)到最后一個元素
[4, 5]
>>> listx[:3] //開始位置默認(rèn)為0
[1, 2, 3]

通過分片來復(fù)制列表

listx = [6,7,1,4,7]
listy = listx[:]
listy.append(8)
print(listx)
print(listy)
結(jié)果:
[6, 7, 1, 4, 7]
[6, 7, 1, 4, 7, 8]

2.1列表分片進(jìn)階

分片還有第三個參數(shù)千扶,表示步長
例如:listx = [0:2:1]

>>> listx=[1,2,3,4,5,6,7,8,9]
>>> listx[::2] //每兩個元素才取一個元素出來
[1, 3, 5, 7, 9]

>>> listx[::-1] //表示復(fù)制一個反轉(zhuǎn)的分片
[9, 8, 7, 6, 5, 4, 3, 2, 1]


3.分片的操作符

  • 比較操作符
>>> list1=[1,2]
>>> list2=[2,0]
>>> list1>list2 //分片比大小料祠,從第一個元素開始比較,某個元素勝澎羞,列表也勝出
False
  • 算數(shù)操作符
    • +表示連接操作符(拼接)
    • *****表示重復(fù)操作符
list1 = [1,2,3]
list2 = [4,5,6]
list3 = list1 + list2
list4 = list1 * 2
print(list3)
print(list4)
結(jié)果:
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 1, 2, 3]
  • 列表包含另一個列表
list1 = [1,2,[3,4],5]
print(1 in list1)
print(2 not in list1)
print(3 in list1) //in和not in只能判斷到第一層列表
print(list1[2][1]) //使用二維數(shù)組的方式可訪問列表中的列表
結(jié)果
True
False
False
4

4.列表的相關(guān)方法

查看列表的所有方法:dir(list)

  • count( ) 計算元素在列表中出現(xiàn)的次數(shù)
listx = [1,2,3,4,5,6,7,8,8]
print(listx.count(8))
結(jié)果:
2
  • len( ) 計算列表的長度,從1開始計算元素個數(shù)敛苇,不存在差1
listx = [6,7,1,4,7]
print(len(listx))   #len() 從1開始計算元素個數(shù)妆绞,不存在差1
結(jié)果:
5
  • index( ) 計算元素在列表中出現(xiàn)的位置(若有重復(fù)元素,則以第一為準(zhǔn))
listx = [1,2,3,4,5,6,7,8,8]
print(listx.index(8))

# index(key,start,stop) 用于限定查找范圍
start = listx.index(8) + 1 //查找第二個元素的位置
stop = len(listx)
print(listx.index(8,start,stop))
結(jié)果:
7
8
  • reverse( ) 將列表原地翻轉(zhuǎn)
listx = [1,2,3,4]
listx.reverse()
print(listx)
結(jié)果:
[4, 3, 2, 1]
  • sort( ) 將列表進(jìn)行排序枫攀,默認(rèn)是升序
listx = [6,7,1,4,7]
listx.sort() //升序
print(listx)
結(jié)果:
[1, 4, 6, 7, 7]
listx = [6,7,1,4,7]
listx.sort(reverse=True) //降序
print(listx)
結(jié)果:
[7, 7, 6, 4, 1]
  • clear( )清空列表
listx = [1,2,3]
print(listx)
listx.clear()
print(listx)
結(jié)果:
[1, 2, 3]
[]
  • copy( )拷貝列表
    • =直接賦值括饶,是引用賦值,更改一個来涨,另一個同樣會變
    • copy() 則顧名思義图焰,復(fù)制一個副本,原值和新復(fù)制的變量互不影響
listx = [1,2,3]
list1 = listx.copy()
# print(listx,'\n',list1)
print(listx)
print(list1)
結(jié)果:
[1, 2, 3]
[1, 2, 3]

5.遍歷列表

使用for循環(huán)遍歷列表

listx = [i for i in range(0,20,3)]
for i in listx:
    print(str(i)+' ',end='')
結(jié)果:
0 3 6 9 12 15 18
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蹦掐,一起剝皮案震驚了整個濱河市技羔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌卧抗,老刑警劉巖藤滥,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異社裆,居然都是意外死亡弄贿,警方通過查閱死者的電腦和手機(jī)翎承,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人肺孤,你說我怎么就攤上這事∈萸拢” “怎么了逗物?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長磺陡。 經(jīng)常有香客問我趴梢,道長漠畜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任坞靶,我火速辦了婚禮憔狞,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘彰阴。我一直安慰自己瘾敢,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布尿这。 她就那樣靜靜地躺著簇抵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪射众。 梳的紋絲不亂的頭發(fā)上碟摆,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機(jī)與錄音叨橱,去河邊找鬼典蜕。 笑死,一個胖子當(dāng)著我的面吹牛罗洗,可吹牛的內(nèi)容都是我干的愉舔。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼伙菜,長吁一口氣:“原來是場噩夢啊……” “哼轩缤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起贩绕,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤火的,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后丧叽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體卫玖,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年踊淳,在試婚紗的時候發(fā)現(xiàn)自己被綠了假瞬。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡迂尝,死狀恐怖脱茉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情垄开,我是刑警寧澤琴许,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站溉躲,受9級特大地震影響榜田,放射性物質(zhì)發(fā)生泄漏益兄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一箭券、第九天 我趴在偏房一處隱蔽的房頂上張望净捅。 院中可真熱鬧,春花似錦辩块、人聲如沸蛔六。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽国章。三九已至,卻和暖如春豆村,著一層夾襖步出監(jiān)牢的瞬間液兽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工你画, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留抵碟,地道東北人。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓坏匪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親撬统。 傳聞我的和親對象是個殘疾皇子适滓,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,724評論 2 351