python學習,day2 列表的複製

2022-08-29 06:30:15 字數 2097 閱讀 1577

主要涉及列表的潛複製(第二層受後面修改的影響)和深複製(不受後面修改的影響)

**如下

#

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,之後怎麼改動,哪一層都不會變

print

(names3)

print

(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:

print

(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...