1. 程式人生 > >Python內置的有序集合:list和tuple是,一個可變,一個不可變

Python內置的有序集合:list和tuple是,一個可變,一個不可變

增刪 列表 [] 一個 使用 越界 整數 需要 如同

Python內置的一種數據類型是列表:list#註釋list是一種可變的有序的集合,可以隨時添加和刪除其中的元素

list裏面的元素可以是不同的數據類型譬如整數、字符串、嵌套列表

len( )函數:獲得list元素的個數

classmates.append(‘元素‘) 函數:追加新元素至list列表尾部

classmates.insert(1, ‘元素‘)函數:通過索引得方式將新的元素追加至指定位置

classmates[ ]: 通過索引的方式,問每一個位置的元素

pop(i)函數 : 要刪除指定位置的元素,用,其中i是索引位置

classmates[ 1]= ‘Sarah‘ :直接賦值給對應的索引位置

替換元素

案例1:比如列出班裏所有同學的名字,就可以用一個list表示,如下:classmates變量,就是一個list:

>>> classmates = [‘Michael‘, ‘Bob‘, ‘Tracy‘]

>>> classmates

[‘Michael‘, ‘Bob‘, ‘Tracy‘]

>>> len(classmates) #列出元素個數
3


#用索引來訪問list中每一個位置的元素,記得索引是從0開始得
#當索引超出了範圍時,Python會報一個IndexError錯誤,所以,要確保索引不要越界,可以直接獲取最後一個元素:classmates[-1]
依次類推倒著獲取。
>>> classmates[0] 
‘Michael‘
>>> classmates[1]
‘Bob‘
>>> classmates[2]
‘Tracy‘
>>> classmates[3]
>>> classmates[-1]
‘Tracy‘

#追加新元素到末尾

>>> classmates.append(‘Adam‘) >>> classmates [‘Michael‘, ‘Bob‘, ‘Tracy‘, ‘Adam‘]
#通過索引得方式將新的元素插入到指定的位置,比如索引號為1
的位置

>>> classmates.insert(1, ‘Jack‘)
>>> classmates
[‘Michael‘, ‘Jack‘, ‘Bob‘, ‘Tracy‘, ‘Adam‘]
#要刪除指定位置的元素,用pop(i)方法,其中i是索引位置:
>>> classmates.pop(1)
‘Jack‘
>>> classmates
[‘Michael‘, ‘Bob‘, ‘Tracy‘]

#將指定元素替換成別的元素,可以直接賦值給對應的索引位置即可

>>> classmates[1] = ‘Sarah‘
>>> classmates [‘Michael‘, ‘Sarah‘, ‘Tracy‘]

#list裏面的元素的數據類型也可以不同,list元素也可以是另一個list
#要拿到‘php‘可以寫p[1]或者s[2][1],因此s可以看成是一個二維數組,類似的還有三維、四維……數組,不過很少用到。


#要註意s只有4個元素,其中s[2]又是一個list,如果拆開寫就更容易理解了


>>> L = [‘Apple‘, 123,
[‘asp‘, ‘php‘],True]
>>> len(s) 4 >>> p = [‘asp‘, ‘php‘] >>> s = [‘python‘, ‘java‘, p, ‘scheme‘]

#空數組

>>> L = []
>>> len(L)
0

Python中另一種有序列表叫元組:tuple:#tuple和list非常類似,但是tuple不允許增刪改等一系列的修改在定義的時候,tuple的元素就必須被確定下來

#比如同樣是列出同學的名字

#索引指定位置元素與list的方式相同

#只有1個元素的tuple定義時必須加一個逗號,,來消除歧義:

>>> classmates = (‘Michael‘, ‘Bob‘, ‘Tracy‘)

>>> classmates = [i]

##最後來看一個“可變的”tuple:表面上看,tuple的元素確實變了,但其實變的不是tuple的元素,而是list的元素

 >>> t = (‘a‘, ‘b‘, [‘A‘, ‘B‘])

>>> t[2][0] = ‘X‘

>>> t[2][1] = ‘Y‘
>>> t
(‘a‘, ‘b‘, [‘X‘, ‘Y‘])

技術分享圖片技術分享圖片



list和tuple是Python內置的有序集合,一個可變,一個不可變。根據需要來選擇使用它們。
 
 

Python內置的有序集合:list和tuple是,一個可變,一個不可變