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將列表列印出...