python列表建立操作 python列表操作

2021-10-12 11:57:22 字數 3886 閱讀 5506

列表是最常用的python資料型別,它可以作為乙個方括號內的逗號分隔值出現。列表的資料項不需要具有相同的型別。如    list = ['a','b',2,5,'1']

1、新建列表

stus = #建立空列表

stus1 = list() #建立空列表

print(stus)print(stus1)

stus= ['范冰冰','維達','soon','上述'] #建立非空列表

print(stus)

2、列表增加元素

stus = ['范冰冰','維達','soon','上述']

stus.insert(2,'lucy') #insert可以指定元素插入的位置

print(stus)

3、列表長度

stus = ['范冰冰','維達','soon','上述']print(len(stus))

4、修改列表元素

stus = ['范冰冰','維達','soon','上述']

stus[3] = '哈哈' #直接找到下標,對元素賦值

print(stus)

5、列表刪除元素

stus = ['范冰冰','維達','soon','上述']

stus.insert(2,'lucy') #insert可以指定插入的位置

print(stus)print(len(stus))

stus[3] = '哈哈'

print(stus)

stus.pop()#預設刪除最後乙個元素

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

stus.remove('范冰冰') #傳入元素值,直接刪除元素。 remove時必須傳值

del stus[1] #刪除指定下標的元素

print(stus)

stus.clear()#清空列表

print(stus)

stus.pop()、stus.remove()、 del stus 刪除不存在的值時都會報錯。

6、查詢元素,查詢元素下標

stus = ['范冰冰','維達','soon','上述']print(stus[2]) #查詢指定下標的元素

print(stus.count('冰')) #查詢指定元素出現的次數,注意乙個列表元素按照乙個整體處理,該值返回0

print(stus.index('維達')) #按照元素名稱查詢元素下標

注意,按照元素查詢下標的時候,若列表中有多個該元素,則返回第一次出現的該元素的下標。如果元素不存在,則報錯

7、列表反轉

stus = ['范冰冰','維達','soon','上述']

stus1=[1,3,6,4,2,6,8,3]

stus.reverse()#直接列表反轉

stus2 = list(reversed(stus1))#使用list函式進行反轉

print(stus2)print(stus)#注意,反轉的時候不能直接print(stus.reverse())

另外,按照列表切片也可以進行反轉。

print(stus[::-1])

8、列表排序

stus1 =[1,3,6,4,2,6,8,3]

stus1.sort()#直接對列表進行排序

stus2 = list(sorted(stus1)) #按照list函式進行排序

print(stus2)

倒序排列

stus1 =[1,3,6,4,2,6,8,3]

stus1.sort(reverse=true) #倒序排列

stus2 = list(sorted(stus1,reverse=true)) #按照list函式進行倒序排序

print(stus1)print(stus2)

#注意,排序的時候不能直接print(stus1.sort()

備註:排序預設按照正序排列

9、兩個列表相連

stus = ['范冰冰','維達','soon','上述']

stus1=[1,3,6,4,2,6,8,3]

stus1.extend(stus)#兩個列表相連,把乙個list中的元素新增到另外乙個list中

print(stus1)#注意寫法,不能直接print(stu1.extend(stus))

也可以連線自己,把自己輸出兩遍

10、列表操作符

列表對 + 和 * 的操作符與字串相似。+ 號用於組合列表,* 號用於重複列表。

python 表示式結果描述

len([1, 2, 3])

長度[1, 2, 3] + [4, 5, 6]

[1, 2, 3, 4, 5, 6]

組合['hi!'] * 4

['hi!', 'hi!', 'hi!', 'hi!']

重複3 in [1, 2, 3]

true

元素是否存在於列表中

for x in [1, 2, 3]: print(x, end=" ")

1 2 3

迭代11、列表擷取--切片

切片是list取值的一種方式。切片取值是顧頭不顧尾,取到尾巴的時候要加1,前面乙個下標,後面乙個下標,中間是冒號,下標從0開始時,前面可以不寫。

stus = ['范冰冰','維達','soon','上述']print(stus[2])print(stus[-2])print(stus[-2:])print(stus[1:2])print(stus[1:4:2])#步長為2時,中間隔乙個

print(stus[::]) #複製乙個新列表

print(stus[::-1]) #將原來的list倒序輸出

print(stu0[2:5])

print(stu0[:5])代表從最前面開始取值

print(str0[4:10]),取後面的值,要是取到末尾,那麼後面的下標可以不用寫 print(str0[4:])

什麼下標都不寫的時候,相當於是複製乙個新的list,如 new_stu0=stu0[:]

new_stu = stu[0],也是複製乙個,但是在記憶體中的占用不一樣

print(stu0[0:10:1]) ,再加乙個冒號代表步長,代表隔乙個或者隔幾個取乙個

print(stu0[0:10:2]),2的時候是跳過乙個元素取乙個值,

print(stu0[::-1])步長為負數時,從右往左取值,步長是正數時,是從左往右取

12、列表迴圈

stus = ['楊靜', '王志華', '王銀梅', '喬美玲','段鑫琪', '王立文', '趙燕','楊華', '周永波', '楊靜']for index,stu in enumerate(stus,1):#同時取到下標和值

print("%s ==> %s"%(index,stu))

enumerate() 函式用於將乙個可遍歷的資料物件(如列表、元組或字串)組合為乙個索引序列,同時列出資料和資料下標,一般用在 for 迴圈當中。引數sequence為需要迴圈的序列,start為下標起始位置。

普通的list迴圈:可與上面對比

stus = ['楊靜', '王志華', '王銀梅', '喬美玲','段鑫琪', '王立文', '趙燕','楊華', '周永波', '楊靜']

i=0for ele instus:print(i,stus[i])

i= i +1

如果直接迴圈乙個list,那麼每次取的就是list裡面的每乙個元素

13、多維陣列

stu0 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

stu1= [1,2,3,4, ['a','b','c'], ['哈','呵'] ]

stu1[5][0] = '哈哈'

print(stu1)

stu2= [1,2,3,4,['a',['哈','哈','哈'],'b','c', ] ]#3維陣列

stu2[4][1].insert(0,'呵呵呵')print(stu2)

python列表建立操作 python列表操作

建立列表 sample list a 1,a b python 列表操作 sample list a b 0,1,3 得到列表中的某乙個值 value start sample list 0 end value sample list 1 刪除列表的第乙個值 del sample list 0 在列...

Python建立列表

list1 none 5使用這種方式建立乙個普通的一維列表是沒問題的 可以檢測一下 list1 none 5list1 3 1print list1 none none none,1 none 但是,當用這種方式建立乙個多維列表時,就會出現以下問題 list2 none 5 5 list2 2 3 ...

python 列表操作

list 一種順序儲存結構,序列的一種,列表元素可以是任何型別,類似陣列,引用型別。格式定義 olist 1,str 定義乙個空的list olist 獲取列表元素個數 len olist 刪除乙個列表 del olist 刪除乙個列表元素 del list i 支援 olist1 olist2 列...