目錄列表的內建方法
字典內建方法
物件指向的記憶體中的值會改變,當更改這個變數的時候,還是指向原來記憶體中的值,並且在原來的記憶體值進行原地修改,並沒有開闢新的記憶體。
lis = [1]
print(id(lis)) # 167724168
print(id(lis)) # 167724168
物件所指向的記憶體中的值不能被改變,當改變這個變數的時候,原來指向的記憶體中的值不變,變數不再指向原來的值,而是開闢一塊新的記憶體,變數指向新的記憶體。
x = 10 # 定義變數就會開闢一塊新的記憶體空間存放變數
print(id(x)) # 1724673792
x = x + 1
print(id(x)) # 1733455648 x的id發生了變化,既x原來指向的記憶體中的值不變,x不再指向原來的值,而是開闢出一塊新的記憶體, x指向新的記憶體
lis = [1, 2, 3]
# 索引取值/索引修改值
lis = [0]
print(lis) # 1
# 索引切片
print(lis[0:2]) # 1 2
#成員運算in / not in
print(1 in lis) # true
print(4 not in lis) # true
# for迴圈
for i in lis:
print(1)
# 長度len
print(len(lis)) # 3
# .sort() 排序
lis = [3, 2, 1]
lis.sort()
print lis # [1, 2, 3]
# .reverse() 反轉
lis.reverse()
print(lis) # [3, 2, 1]
# .index() 獲取元素索引
print(lis.index(2)) # 1
# .clear() 清空列表
lis.clear()
print(lis) #
# .copy() 複製
lis1 = lis.copy()
print(lis1) # [1, 2, 3]
# .extend() 擴充套件列表
lis1 = [4, 5, 6]
lis.extend(lis1)
print(lis) # [1, 2, 3, 4, 5, 6]
# .remove 移除
lis.remove(3)
print(lis) # [1,2]
# .insert() 按照索引插入值(在前插入)
lis.insert(0, -1)
print(lis) # [-1, 1, 2, 3]
dic =
# 按key取值/按key修改值/按key增加值
print(dic['a']) # 1
dic['a'] = 0
print(dic) #
dic['d'] = 4
print(dic) #
# 成員運算(比較的是key)
print('a' in dic) # true
print('e' not in dic) # true
# for迴圈(對key迴圈)
for i in dic:
print(i) # a b c
# .keys()/.value()/.items() -- 返回列表
print(dic.keys()) # 所有的key
print(dic.values()) # 所有的值
print(dic.items()) # 所有的鍵值對
# get() 取值
print(dic.get('a', 0)) # 找到了就返會a在字典中對應的值, 沒找到就返回none, 如果給定了0, 沒找到就返回0
# .update() 擴充套件字典
dic1 =
dic.update(dic1)
print(dic) #
# .setdefault() 有則不變,無則增加
dic.setdefault('a', 2)
print(dic) #
dic.setdefault('d', 4)
print(dic) #
python可變物件與不可變物件
可改變的物件 例子1def change num print function parameter id num num 100 print assigin value to num id num if name main a 10 print origin id a id a change a p...
可變物件,不可變物件
不可變物件為字串,元組等 可變物件為列表,字典,集合等。淺拷貝只是對已經存在的記憶體新增加乙個物件引用。深拷貝就是重新申請乙個新的記憶體,使這個是新物件是新記憶體位址的引用。對於可變物件引用時時經常出現。考慮以下兩段 1 l for i in range 10 num i print l 結果 2 ...
可變與不可變
元組 tuple 元組一旦被建立就不能被修改,採用逗號和圓括號 來表示。列表推導式 可變與不可變 序列型別 是否有序 是否可變 列表有序可變 元組有序 不可變 字串有序 不可變 字典無序可變 集合無序 不可變不管是可變還是不可變的序列型別 1 分片必定產生新的序列 2 號在等號右邊,必定產生新的序列...