list的使用
聲明list變量
classmates = ['Bob', 'Michael', 'Tracy']
獲取list元素個數(shù)len()
len(classmates) --- 3
訪問list每一個位置的元素嵌巷,索引位置從0
開始
classmates[0] --- 'Bob'
訪問list倒數(shù)第幾個位置的元素
classmates[-1] --- 'Tracy'
classmates[-2] --- 'Michael'
classmates[-3] --- 'Bob'
追加元素append(_)
classmates.append('Adam')
classmates --- ['Bob', 'Michael', 'Tracy', 'Adam']
插入元素到指定位置insert(n, _)
classmates.insert(1, 'Jack')
classmates --- ['Bob', 'Jack', 'Michael', 'Tracy', 'Adam']
刪除末尾元素pop()
classmates.pop()
classmates --- ['Bob', 'Jack', 'Michael', 'Tracy']
刪除指定位置元素pop(n)
classmates.pop(1)
classmates --- ['Bob', 'Michael', 'Tracy']
替換某位置的元素
classmates[1] = 'Sarah'
classmates --- ['Bob', 'Sarah', 'Tracy']
list元素類型可不同
t = ['Bob', 18, True, ['asp', 'php']]
# 要想得到list中php這個數(shù)據(jù),可以寫成
p = t[4][1] --- 'php'
tuple的使用
tuple和list非常類似向臀,但是tuple一旦初始化就不能修改,通常我們稱之為元組。
聲明tuple變量
classmates = ('Michael', 'Bob', 'Tracy')
它沒有append()
,insert()
這樣的方法嫩痰。其他獲取元素的方法和list是一樣的,你可以正常地使用classmates[0]
窍箍,classmates[-1]
始赎,但不能賦值成另外的元素。
定義一個空的tuple
t = ()
定義一個只有1個元素的tuple
t = (1, )
t --- (1, )
注意:這里沒有寫錯仔燕,當(dāng)寫為t = (1)時,定義的不是tuple變量魔招,而是1這個數(shù)字晰搀。這是因為括號()既可以表示tuple,又可以表示數(shù)學(xué)公式中的小括號办斑,這就產(chǎn)生了歧義外恕,因此杆逗,Python規(guī)定,這種情況下鳞疲,按小括號進(jìn)行計算罪郊,計算結(jié)果自然是1。所以尚洽,只有1個元素的tuple定義時必須加一個逗號,悔橄,來消除歧義。此外腺毫,Python在顯示只有1個元素的tuple時癣疟,也會加一個逗號,,以免你誤解成數(shù)學(xué)計算意義上的括號潮酒。
“可變的”tuple
t = ('a', 'b', ['A', 'B'])
t[2][0] = 'X'
t[2][1] = 'Y'
t --- ('a', 'b', ['X', 'Y'])
表面上看睛挚,tuple的元素確實變了,但其實變的不是tuple的元素急黎,而是list的元素扎狱。tuple一開始指向的list并沒有改成別的list,所以勃教,tuple所謂的“不變”是說淤击,tuple的每個元素,指向永遠(yuǎn)不變荣回。即指向'a'遭贸,就不能改成指向'b',指向一個list心软,就不能改成指向其他對象壕吹,但指向的這個list本身是可變的!