Python基礎【day02】:列表
阿新 • • 發佈:2017-07-13
nts 序列 number zhang .com alt mes highlight ble
列表是Python最常用的數據類型之一,通過列表可以對數據實現最方便的存儲、修改等操作
1、定義列表
1 2 |
names = [] #定義空列表
names = [ ‘a‘ , ‘b‘ , ‘c‘ ] #定義一個非空列表
|
2、訪問列表中的元素
1 2 3 4 5 6 7 8 9 |
>>> names = [ ‘a‘ , ‘b‘ , ‘c‘ ]
>>> names[ 0 ]
‘a‘
>>> names[ 1 ]
‘b‘
>>> names[ 2 ]
‘c‘
>>> names[ - 1 ] #倒著取最後一個值 ‘c‘
|
註:列表的下標值是從0開始取值的
3、切片
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
>>> names = [ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ ]
>>> names[ 1 : 3 ] #取1到3之間的元素,包括1,不包括3
[ ‘b‘ , ‘c‘ ]
>>> names[ 1 : - 1 ] #取1到-1之間的元素,包括1,不包括-1
[ ‘b‘ , ‘c‘ ]
>>> names[ 0 : 3 ]
[ ‘a‘ , ‘b‘ , ‘c‘ ]
>>> names[: 3 ] #從頭開始取,0可以省略,效果等同於names[0:3] [ ‘a‘ , ‘b‘ , ‘c‘ ]
>>> names[ 3 :] #想取到最後一個值,必須不能寫-1,只能這麽寫
[ ‘d‘ ]
>>> names[ 0 :: 2 ] #後面的2表示:每隔一個元素就取一個
[ ‘a‘ , ‘c‘ ]
>>> names[:: 2 ] #從頭開始0可以省略,效果跟上一句一樣
[ ‘a‘ , ‘c‘ ]
|
切片小結:
①序列始終都是從左向右切片的,不能是從右向左
①列表切片時,起始位的元素是包括的,結束位的元素是不包括(又叫顧頭不顧尾),最後一個位置表示步長(names[開始位:結束位:步長])
②如果從0位置取值,0可以省略
③想取最後一個值時,結束位不能是-1,因為結束位的元素不包括,所以只能留空
4、追加(append(元素))
1 2 3 4 |
>>> names = [ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ ]
>>> names.append( ‘e‘ )
>>> names
[ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ , ‘e‘ ] #e是新加的元素
|
5、插入(insert(下標值,插入的內容))
1 2 3 4 |
>>> names = [ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ ]
>>> names.insert( 0 , ‘1‘ ) #0表示需要插入的下標值,‘1‘表示插入的內容
>>> names
[ ‘1‘ , ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ ] #在下標值為0的地方插入‘1‘
|
6、修改
1 2 3 4 |
>>> names = [ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ ]
>>> names[ 1 ] = ‘1‘
>>> names
[ ‘a‘ , ‘1‘ , ‘c‘ , ‘d‘ ]
|
註:修改列表中的元素,直接是 names[下標值] = 新值
7、拷貝(copy())
1 2 3 4 |
>>> names = [ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ ]
>>> names2 = names.copy()
>>> names2
[ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ ]
|
註:這邊的copy都是淺copy,只能copy第一層。深淺拷貝的詳細信息:猛擊這裏
8、刪除(del、remove(元素)、pop())
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#根據下標值刪除元素
>>> names = [ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ ]
>>> del names[ 0 ]
>>> names
[ ‘b‘ , ‘c‘ , ‘d‘ ]
#根據元素刪除
>>> names = [ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ ]
>>> names.remove( ‘a‘ )
>>> names
[ ‘b‘ , ‘c‘ , ‘d‘ ]
#刪除最後一個
>>> names = [ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ ]
>>> names.pop()
‘d‘
>>> names
[ ‘a‘ , ‘b‘ , ‘c‘ ]
|
註:
①如果pop()中有下標值,則是刪掉具體某個元素,其效果和del的效果是一樣的
1 2 3 4 5 |
>>> names = [ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ ]
>>> names.pop( 1 ) #在輸入下標值得情況下和del的效果是一樣的
‘b‘
>>> names
[ ‘a‘ , ‘c‘ , ‘d‘ ]
|
②del關鍵字不僅可以刪除列表中的元素,也可以刪除變量
1 2 3 |
names = [ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ ]
#刪除names這個變量
del names
|
9、擴展(extend)
1 2 3 4 5 |
>>> names1 = [ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ ]
>>> names2 = [ 1 , 2 , 3 , 4 ]
>>> names1.extend(names2)
>>> names1
[ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ , 1 , 2 , 3 , 4 ]
|
註:names2的列表合並到names1中,但是,names2這個列表依然存在,如果想刪除names2這個變量,則只需del names2即可
10、統計(count(元素))
1 2 3 |
>>> names = [ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ , ‘a‘ ]
>>> names.count( ‘a‘ ) #統計‘a‘元素的個數
2
|
11、翻轉(reverse())
1 2 3 4 |
>>> names = [ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ ]
>>> names.reverse()
>>> names
[ ‘d‘ , ‘c‘ , ‘b‘ , ‘a‘ ] #將整個列表翻轉過來
|
12、排序(sort())
1 2 3 4 |
>>> names = [ 4 , 2 , 3 , 1 ]
>>> names.sort()
>>> names
[ 1 , 2 , 3 , 4 ]
|
13、獲取下標值(index(元素))
1 2 3 |
>>> names = [ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ ]
>>> names.index( ‘a‘ )
0
|
14、清空列表(clear())
1 2 3 4 |
>>> names = [ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ ]
>>> names.clear()
>>> names
[]
|
Python基礎【day02】:列表