公司網(wǎng)站建設(shè)開題報告西安百度推廣電話
如約而至,緊接著第一篇文章,小編將會陸續(xù)把自己精心做的全套Python筆記依次發(fā)放給大家,便于大家學(xué)習(xí)Python、期末備考、鞏固基礎(chǔ)等
(這幾期是公眾號小插曲,后期發(fā)放編程技術(shù)的話主要還是會圍繞Java來展開,感謝小伙伴們的支持~)
列表
變量可以存儲一個元素,而列表是一個大容器,可以存儲N多個元素,程序可以方便地對這些數(shù)據(jù)進(jìn)行整體操作
列表相當(dāng)于其它語言中的數(shù)組
變量存儲的是一個對象的引用,而列表存儲的是多個對象的引用
列表的創(chuàng)建用 [] 或者內(nèi)置函數(shù)list()創(chuàng)建
元素之間用,分割
列表元素按順序有序培訓(xùn)
索引映射唯一一個數(shù)據(jù)
列表可以存儲重復(fù)元素
任意類型混存
根據(jù)需要動態(tài)分配和回收內(nèi)存
和java不同的是:從后往前采用的是負(fù)數(shù)索引比如第一個0的索引,它同時也是負(fù)數(shù)最后一個索引,java索引從0開始,無負(fù)數(shù)
如果列表中有多個元素,只返回列表中相同元素第一個元素的索引
在指定索引進(jìn)行查找:
lst=['hello','world','99','hello']print(lst.index('hello',1,3)) #1-3不包括3,這里會報錯找不到索引
獲取列表中的多個元素
語法格式
列表名[start : stop : step]
切片的結(jié)果:原列表片段的拷貝
切片的范圍,[start,stop)
step默認(rèn)為1,簡寫為[stop,step]
lst=[10,20,30,40,50,60,70,80]print('原列表',id(lst))# 原列表 3184358125248lst2=lst[1:6:1]print('切的片段:',id(lst2))# 切的片段: 3184361791744print(lst[1:6]) # 默認(rèn)步長為1 [20, 30, 40, 50, 60]print(lst[1:6:])# [20, 30, 40, 50, 60]print(lst[1:6:2]) # [20, 40, 60]print(lst[:6:2]) # [10, 30, 50]print(lst[1::2]) # [20, 40, 60, 80]print('----------step步長為負(fù)數(shù)的情況-----------------')print(lst[::-1]) # [80, 70, 60, 50, 40, 30, 20, 10] print(lst[6:0:-2])# [70, 50, 30]
列表元素的判斷及遍歷
for 迭代變量 in 列表名:
操作
print(10 in lst) #True
print(10 not in lst) #False
遍歷
for item in lst:
print(item)
列表元素的增刪改操作
增加
append():在列表的末尾添加一個元素
extend():在列表的末尾至少添加一個元素
insert():在列表的任意位置添加一個元素
切片:在列表的任意位置添加至少一個元素
id沒變說明,append是在同一個列表中添加元素,每一個元素的id不同,但這個列表的id不變
lst=[10,20,30]print('添加元素之前',lst,id(lst)) lst.append(40)print('添加元素之后',lst,id(lst)) #添加元素之后 [10, 20, 30, 40]
將lst2作為一個元素添加到lst1的末尾
lst2=['hello','world']lst.append(lst2)print(lst) #[10, 20, 30, 40, ['hello', 'world']]
用extend()添加列表
lst2=['hello','world']lst.extend(lst2)print(lst)
在任意位置上添加一個元素
lst = [10,20,30]
lst.insert(1,90)
print(lst) #[10, 90, 20, 30, 40]
切片
lst.insert(1,90)print(lst) # [10, 20, 30, 40]lst3=[True,False,'hello'] # [10, 90, 20, 30, 40]lst[1:]=lst3print(lst) # [10, True, False, 'hello']
列表元素的刪除操作
remove():一次刪除一個元素
重復(fù)元素只刪除第一個
元素不存在拋出ValueError
pop() :刪除一個指定索引位置上的元素
指定索引不存在拋出IndexError
不指定索引,刪除列表中最后一個元素
切片:一次至少刪除一個元素
clear():清空列表
del:刪除列表
lst=[10,40,50,60]new_list=lst[1:3]print('原列表:',lst) # 原列表:[10, 40, 50, 60]print('切片后的列表:',new_list) # 切片后的列表:[40, 50]#不產(chǎn)生原列表中的對象,而是刪除原列表中的內(nèi)容lst[1:3]=[]print(lst) # [10, 60]del lstprint(lst) # name 'lst' is not defined 既然刪除了,那么就沒有定義
列表元素的排序操作
常見的兩種方式:
調(diào)用sort()方法,列表中所有元素默認(rèn)按照從大到小順序進(jìn)行排序,指定reverse=True,進(jìn)行降序排序,默認(rèn)是False
調(diào)用內(nèi)置函數(shù)sorted(),可以指定reverse=True,進(jìn)行降序排序,原列表不發(fā)生改變,id不會變
sort()是對原列表進(jìn)行排序,sorted()是對新列表進(jìn)行排序
列表生成式
列表生成式簡稱 生成列表的公式
語法格式:[ i * i for i in range(1,10) ]
i * i 表示列表元素的表達(dá)式,自定義, for后面的 i 表示自定義變量,range(1,10)表示可迭代對象
lst=[i for i in range(1,10)] #會產(chǎn)生一個1-9的整數(shù)序列,# 可以用[]括起來,這個列表中存的是產(chǎn)生的整數(shù)序列,產(chǎn)生的整數(shù)序列是i,所以在for之前加上iprint(lst) #[1, 2, 3, 4, 5, 6, 7, 8, 9]
往期回顧
小白進(jìn)階必備入門~從Python安裝->分支結(jié)構(gòu)
微信公眾號:索奇之家
索奇之家:探索各類互聯(lián)網(wǎng)技術(shù)~ 優(yōu)先發(fā)放java技術(shù)、其它編程語言技術(shù)、源代碼、軟件資料、數(shù)碼迷惑、以及一些網(wǎng)絡(luò)小技巧……Welcome home~