Python 基礎內容2
list 和 tuple
list列表[]
list是長度可變的有序集合,可隨時添加和刪除其中元素
len()
函數獲得list長度
索引從零開始,最後一個元素索引爲len(list) - 1
以-1
爲索引,獲取最後一個元素
-2
,-3
以此爲倒數第二第三個
l = [1, 2, 3]
#末尾添加元素
l.append(4)
#指定位置插入元素
l.insert(1, '0')
#刪除末尾元素
l.pop()
#刪除指定位置元素(參數爲索引位置)
l.pop(1)
#替換元素直接賦值
l[1] = 5
list內數據類型可以不同
也可以是另一個list,可以看成是一個二維數組
tuple元組()
與list類似,但一旦初始化就不能修改
可以正常訪問,但不能重新賦值
定義時元素必須被確定下來
定義只有一個元素的元組時()
中元素後面加一個,
,否則結果不是元組而是數字1
t = ()
#()
#tuple可以爲空
t = (1)
#1
t = (1, )
#(1,)
#python在顯示只有一個元素的元組時也會加一個,來避免歧義
元素可變的tuple:
t = ('a', 'b', ['A', 'B'])
t[2][0] = 'X'
t[2][1] = 'Y'
print(t)
#('a', 'b', ['X', 'Y'])
實際上是tuple中list裏面元素髮生了變化
tuple的不變是指每個元素的指向不變
條件判斷
if
,else
,elif
注意縮進和:
冒號
input()
函數的返回類型是str
dict
類似於map
,存放鍵值對
可通過key
增加鍵值對、更新value
一個key
對應一個value
in
來判斷key
是否存在
d = {'jack': 100, 'bob':101}
'jack' in d
#True
#get()方法,用key來獲取value,key不存在返回None,或者自己指定的value
d.get('jack1')
#返回None時不顯示結果
d.get('jack1', -1)
#-1
#刪除時使用pop(key),對應的值也會被刪除,(會返回值)
d.pop('jack')
#100
dict查找速度快但消耗內存大(以空間來換取時間)
key爲不可變對象,需要通過key進行哈希算法來計算value位置
set
set中會自動過濾重複元素,且會自動重新排序(從小到大)
s = set([1,1,0,0,2,2])
s
#{0,1,2}
#add()添加元素
s.add(3)
s
#{0,1,2,3}
s.add(-1)
s
#{-1,0,1,2,3}
#remove()刪除指定元素
不可變對象
str
是不可變對象,但可以調用自身方法
s = '123'
s.replace('1', 0)
#'023'
s
#'123'
#s不變仍爲'123'
所以,對於不變對象來說,調用對象自身的任意方法,也不會改變該對象自身的內容。相反,這些方法會創建新的對象並返回,這樣,就保證了不可變對象本身永遠是不可變的。