列表是最常用的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 列...