python學習筆記(二)列表操作

2021-09-24 01:40:02 字數 4151 閱讀 3566

python學習筆記(二)列表操作

列表及列表操作:

列表是最常用的資料型別之一,列表也叫陣列,列表定義,使用即可;列表裡面可以再套列表,乙個裡面套乙個列表,叫二維陣列;乙個裡面套乙個列表,裡面的列表再套乙個列表,這個叫三位陣列,套幾層就是幾維,定義格式如下:

1 list1 = [1,2,3,4]#乙個普通的陣列

2 list2 = ['marry','lily',[50,'money']]#二維陣列

3 list3 = ['name','***',['lily',124,['aaaa','bbb']]]#三維陣列

1 all_nums=[123,456,[789,10,11]]

2 three=[123,456,[789,10,11,['hahah','1234']]]

3 print(all_nums[2][1]) #10

4 print(three[2][-1][0]) #hahah

通過下列訪問中的元素,下標從0開始計數,也就是說,比如乙個列表,有5個元素,那麼它第乙個元素下標就是0,第二個就是1,以此類推,字串也有下標,和列表一樣,對列表的操作,分以下幾種增,刪,改,查

下標,角標,索引:

1 stus=['xiaohei','xiaobai','xiaohuang','xiaolan']

2 print(stus[1]) #'xiaobai'

3 print(stus[-1]) #'xiaolan' 最後乙個元素下標可以寫-1

4 print(stus[-2]) #'xiaohuang'

增加:

msg='你好'

name=['andashu','cc','niuniu']

name.insert(1,msg)#從指定位置插入,這個1代表下標

name.insert(10,msg)#如果指定下標不存在,那麼就是在末尾新增

name.insert(-1,msg)#-1可以寫,但是結果新增出來不對,所以一般不寫

print(name)

修改:

1 msg='你好'

2 name=['andashu','cc','niuniu']

3 name[1]='baby'#修改指定位置的值,直接取下標進行修改即可

查詢:

1 msg='你好'

2 name=['andashu','cc','niuniu']

3 print(name[0])#獲取第乙個元素

4 print(name[-1])#-1代表最後乙個元素

1 stus=['xiaohei','xiaobai','xiaohuang','xiaolan']

2 print(stus.count('xiaohei'))#檢視在list中某個元素的個數

3 print(stus.count('hahaha'))#檢視在list中某個元素的個數,如果該元素不存在,那麼返回0

4 print(stus.index('xiaobai'))#找到這個元素的下標,如果多個,返回第乙個

5 print(stus.index('hahaha'))#找到這個元素的下標;如果多個,返回第乙個;如果找乙個不存在的元素,會報錯

刪除:

1 msg='你好'

2 name=['andashu','cc','niuniu']

3 name.remove('cc')#刪除指定的值

4 name.pop()#預設刪除最後乙個元素,如果指定下標,那麼刪除指定的元素

5 name.pop(2)

6 name.pop(100)#如果刪除不存在的元素,那麼報錯

7 del name[0]#刪除指定位置的值

8 name.clear()#清空列表

列表操作,一些內建的方法:

1 a=[1,2,3,4]

2 b=[5,6,7,8]

3 a.extend(b)#合併a,b兩個列表

4 print(a)#[1,2,3,4,5,6,7,8]

5 print(b)#[5,6,7,8]只是把b列表裡的內容合併到a中,b列表並不受影響

6 7 stus = ['xiaohei','xiaobai','xiaohuang','cxdser','xiaohei']

8 stus.reverse()#反轉list

9 print(stus)#['xiaohei', 'cxdser', 'xiaohuang', 'xiaobai', 'xiaohei']

10 11

12 nums = [9,31,345,12,457,2352,12143,2321]

13 nums.sort()

14 print(nums)#[9, 12, 31, 345, 457, 2321, 2352, 12143]

15 nums.sort(reverse=true)

16 print(nums)#[12143, 2352, 2321, 457, 345, 31, 12, 9]

17 #sort()排序,預設排序是公升序,如果指定了reverse=true就是按照降序排

list迴圈:

如果直接for迴圈乙個list的時候,那麼每次迴圈的值都是這個list裡面的元素

1 names=['haha','hehe','heihei']

2 for name in names:

3 print(name) # haha hehe heihei

4 5

6 index=0

7 for i in range(3):

8 print(names[index])

9 index+=1 # haha hehe heihe

切片:

切片也就是另一種方式獲取列表的值,它可以獲取多個元素,可以理解為,從第幾個元素開始,到第幾個元素結束,獲取他們之間的值,格式是name:[1:10],比如說要獲取name的第乙個元素到第五個元素,就可以用name[0:6],切片是不包含後面那個元素的值,記住顧頭不顧尾;前面的下標如果是0的話,可以省略不寫,這樣寫,name[:6],切片後面還有可以寫乙個引數,叫做步長,也就是隔多少個元素,取一次,預設可以不寫,也就是隔乙個取一次,切片操作也可以對字串使用,和列表的用法一樣,例項如下:

1 nums=[1,2,3,4,5,6,2,3,4,6,4,3,2,1,2,3,4]

2 print(nums[3:6])#[4,5,6]

3 print(nums[:6])#[1,2,3,4,5,6] 如果切片的前面乙個值不寫的話,從頭開始數

4 print(nums[3:])#[4,5,6,2,3,4,6,4,3,2,1,2,3,4] 如果切片的後面乙個值不寫的話,取到末尾

5 print(nums[:])#如果切片的兩個值都不寫的話,從頭取到尾

6 print(nums[::2])#步長為2,這個代表取所有的元素,然後每隔2個元素取乙個

7 print(nums[::-1])#步長是正數的話從左往右取,步長是負數的話從右往左取,相當於倒序排列

8 print(nums[-1:-9:-1])

9 print(nums[16:8:-1])

10 #切片同樣適用於字串,字串也有下標

11 title='今天發 蘋果' #空格也算乙個字串

12 print(title[0]) #今

13 print(title[:4])#今天發

14 for t in title:

15 print(t)#今天發 蘋果

16 for i,t in enumerate(title):#enumerate可以同時迴圈索引下標和值

17 print('%s:%s'%(i,t)) #0:今 1:天 2:發 3: 4:蘋 5:果

18 #列表也適用enumerate:

names=['haha','hehe','heihei']

for index,name in enumerate(names):

print('%s:%s'%(index,name))

Python學習筆記 (二)列表

3組織列表 二操作列表 3使用列表的一部分切片 三元組 列表是由一系列按特定順序排列的元素組成。在python中,用方括號 來表示列表,並用逗號來分割其中的元素。列表是有序集合,因此要訪問列表的任何元素,只需將該元素的位置或索引告訴python。索引從0開始。同時python提供了一種特殊語法,可以...

python入門學習筆記(二) 列表

3.列表 3.1使用列表的值 name dad sss ff print name print name 0 print name 1 upper 3.2修改列表值 name 1 aa print name 3.3新增元素 3.3.1在末尾加乙個元素 3.3.2在列表任意位置新增 insert na...

Python基礎學習筆記二(列表)

本文繼續python基礎進行學習,內容接連上篇文章 python基礎學習筆記一 變數和資料型別 希望我的經驗可以幫到大家!注 文中例項均於jupyter notebook下編譯。列表是python中內建有序可變序列,列表的所有元素放在一對中括號 中,並使用逗號分隔開,如果你讓python將列表列印出...