列表的內建函式(增 刪 改 查 合併 複製)

2021-10-07 16:00:58 字數 4809 閱讀 7975

列表

容器類:

列表:list

#建立容器型別

curt =

#建立空列表

curt1 =

['test1'

,'test2'

,'test3'

] #建立有值的列表

print

(curt1)

#列表的特點:沒有長度限制、可以放任意型別、支援下標索引、支援切片

建立內容的訪問

內建函式

增、刪、改、查

增:() 列表的末尾追加

extend

() 列表的合併

insert

() 將物件插入到index的位置,後面的也將後移

刪:remove()

pop(

)clear()

del 列表[下標]

del 列表

改、查:

# idenx() 查詢物件,如果存在返回物件的位置,不存在就報錯

test =

['test1'

,'test2'

,'test3'

]t = test.

index

('test1'

) #這裡是通過index查詢元素的位置

print

(t)test[t]

='haha' #x修改列表中的元素,根據元素的位置將元素修改

print

(test)

切片

#從列表中取值,取乙個元素

print

(curt1[2]

) #2代表下標,下標從0開始

print

(len

(curt1)

) #通過內建函式len檢視列表長度

#佇列:先進先出與列表一致,

#列表切片同字串的切片

print

(curt1[:2

]) #取從0到2的值

print

(curt1[-1

]) #取列表的最後乙個值

print

(curt1[::-

1]) #逆序輸出整個列表

#向列表中追加元素

car_park =

car_park.

('湘a0001'

)car_park.

('湘a0002'

)car_park.

('湘a0003'

)car_park.

('湘a0005'

)print

(car_park)

#每取乙個列印一次

for i in car_park:

print

(i)#insert的使用(位置,元素),後面元素的位置將會後退

car_park.

insert(3

,'湘a0004'

) #3代表要去的位置

print

(car_park)

#extend()合併,將乙個可迭代的物件新增到列表中(一次新增多個元素的時候使用)

test1 =

['qq'

,'ww'

,'ee'

]test2 =

['aa'

,'ss'

,'dd'

]print

(test1)

print

(test2)

test1.

extend

(test2)

print

(test1)

# remove刪除元素:根據元素刪除

#用法: remove()

test =

['test1'

,'test2'

,'test3'

]print

(test)

test.

('test1'

) #列表中執行存在相同的元素

print

(test)

test.

remove

('test1'

) #移除第一次出現的元素test1

print

(test)

print

(test.

remove

('test6'

))

#當元素沒找到在時會報錯:valueerror: list.

remove

(x): x not in list

# pop 刪除元素:根據位置(下標)刪除,不指定位置,刪除列表的最後乙個元素

test =

['test1'

,'test2'

,'test3'

]#test.pop(2) #刪除下標為2的元素

print

(test)

test.

pop(

) #刪除最後乙個元素

print

(test)

# del 刪除

test =

['test1'

,'test2'

,'test3'

]del test[

1] #系統刪除列表中的元素

print

(test)

del test #刪除列表,既清空內容也刪除位址

#clear() 清空內容

對列表的修改是通過元素在列表中的位置來進行修改的,只能修改單個元素

對普通列表的修改

list1 =[1

,2,3

,4,6

,]list1 [4]

=5 #這裡是修改下標為4的元素的值為5

print

(list1)

對深層列表中元素的修改

s =[1,

2,[5

,6],

7]s [2][

1]=11 #第乙個中括號中代表的是內層列表在深層列表中的位置,第二個代表的是內層列表找那個的位置,所以這裡就是修改6為11

print

(s)

合併與拷貝

'''

合併 join:''.

join

(列表) 把可迭代的合併成乙個字串

''裡面代表的是連線符 ,列表的型別不能是整型

t =[1,

2,3,

4,5,

6,7]

#print(''.join(t)) #當列表中的元素為整型時,就會報錯

#typeerror: sequence item 0: expected str instance, int found

t =str

(t)print

('-'

.join

(t))

import random

qq =

count =

0while true:

ran = random.

randint(0

,9)if count ==

0and ran ==

0: #這裡是表示第一次得到的值為0時執行下面

continue #跳過本次迴圈

qq.(str

(ran)

) #這裡是將整型轉為字串,因為輸入的為整形,不轉字元型別會報錯

count +=1

if count ==10:

break #退出整個while迴圈

print

(qq)

print(''

.join

(qq)

) #這裡是通過join將『』中的字元與後面的列表進行合併

拷貝淺拷貝

copy:

t =[

'test1'

,'test2'

,'test3'

]t_copy = t.

copy

() #將列表t進行一次copy

print

(t)print

(t_copy)

print

(t is t_copy) #判斷兩個列表是否是一樣的,是返回true,否則返回false

print(id

(t)) #檢視列表的id(位址),通過id判斷兩個列表是否一致

print(id

(t_copy)

) #在這種copy時修改t種的元素,不會影響t_copy的值

'''深層列表的拷貝

t =[[1

,2,3

],[4

,5,6

],[7

,8,9

]] #深層列表

print

(len

(t))

print

(t[2][

2]) #這是取列表中的位置為2的列表中位置為2的元素

t1 = t.

copy()

t[0][

1]=9 #修改列表t的位置為0的列表中位置為1的值為9

print

(t)print

(t1) #深層列表在修改了元素時,copy檔案也會發生改變

總結:copy

()是乙個淺拷貝

(所以使用淺拷貝時在深層列表中如果修改內層列表的值,拷貝的值也會發生改變)

'''

列表的增刪改查

列表的定義及使用 python中的資料型別 number bool intfloat complex list str tuple dict set列表特性 可以儲存任意型別的多個元素 允許相同元素的存在 列表是有序的,索引順序 列表的定義以及使用 scores 列表的長度 len 列表 索引值 下...

列表的增 刪 改 查

li alex 1,2,3 wusir egon 女神 taibai l1 li 0 l2 li 0 3 列表的四個操作,增 刪 改 查 li alex wusir egon 女神 print li while 1 name input 請輸入新增名字 if name.strip upper q b...

列表的增刪改查

建立乙個列表變數,names names zhangyang lihua wangxi dongshuai print names 0 2 表示對列表的切片 names.insert 1,leihaidong 表示插入到原來字串的某個位置,1,表示插入列表裡的第2個位置 names.remove l...