主要涉及列表的潛複製(第二層受後面修改的影響)和深複製(不受後面修改的影響)
**如下
#coding=utf-8
#author: ryan bi
import
copy
names = ['
a','
b','
c','d'
]'''
print(names)
print(names[0]) #從0開始記錄
print(names[1],names[2])
print(names[1:3]) #不包含3
print(names[3])
print(names[-1]) #倒著數
print(names[-2:]) #取-2到-1,由於沒有辦法包含-1,所以不寫
names.insert(1,'e') #在1的位置,加入e,之後依次後挪
print(names)
names[2] = 'g' #修改了2號的名字
print(names)
names.remove('g') #刪除g
print(names)
del names[1] #刪除下標1
print(names)
names.pop()#預設刪除最後乙個,如果加入下標1,相當於刪除下標1,等同於del names[1]
print(names)
print(names.index('a')) #找a的位置
print(names[names.index('a')]) #找到a的位置,並列印a
names.insert(1,"a")
print(names.count('a')) #統計a的數量
#names.clear() #清空列表
names.reverse() #翻轉列表
print(names)
names.sort() #排序,預設順序(ask碼中的排序)
print(names)
names2=[1,2,3,5]
names.extend(names2) #將names和names2合併
print(names,names2)
del names2 #刪除name2表
'''names3 = ['
a','
b',['
bb','
cc'],'
c','d'
]names2 = names3.copy() #
複製乙份names,潛複製,只能複製第一層,之後,第一層改動不會變
names4 = names3 #
完全一樣,後面改動,也會改動
names5 = copy.deepcopy(names3) #
呼叫copy模組裡的copy,之後怎麼改動,哪一層都不會變
(names3)
(names2)
names3[3]='第'
#修改下標3,只在names3中改,names2不改(潛copy,第一層直接copy)
names3[2][0]='畢'
#修改下標2中的下標1,這個name3和那麼2中都改(潛copy,列表實際上記憶體中的乙個指標,你只copy了位址),第二層的不會被copy
print('
name3:
',names3) #
原始值,改動後
print('
name2:
',names2) #
潛copy,第一層不變,第二層由於指向記憶體裡內容變了,所以變了
print('
name4:
',names4) #
賦值複製,第一層和第二層都變了
print('
name5:
',names5) #
深copy,必須呼叫copy模組,第一層和第二層都不變
for i in
names2:
(i)print(names2[0:-1:2]) #
列印偶數字
print(names2[::2]) #
同上
python學習筆記 day2 列表list
今天來說說python的各種資料結構,如list,dict,tuple,string等常用資料結構以及它們常用的方法及使用方法。一 列表list 1 列表的定義 或者 new list 空列表 2 列印列表 使用索引值引用列表裡的具體某個值,如下 3 list如何新增元素 insert 0,上海 即...
day2 列表中常用的方法
列表中有很多方法,下面來看看常用的方法,我們知道,字串是以字元列表形式儲存的。因此上面學習的字串中的很多方法在列表中也有。1.extend extend 列表的擴充套件,把兩個列表進行擴充套件,示例如下 l1 11 22 33 l2 44 55 99 l1.extend l2 l1 11 22 33...
python學習Day04 列表
1 列表的索引 lst 1,2,3,4,5,6 print lst 0 獲取第乙個元素 lst 1 你好 改變列表中的值 2 列表的切片 lst 1,2,3,4,5,6 print lst 0 3 1,2,3 print 3 1,2,3 print 2 3,4,5,6 print 2 1 倒著取 3...