1.序列(sequence)
1.1基本概念
序列是Python中最基本的?種數據結構。序列用于保存?組有序的數據,所有的數據在序列當中都有?個唯?的位置(索引)并且序列中的數據會按照 添加的順序來分配索引
數據結構指計算機中數據存儲的方式
1.2序列的分類
python 序列。可變序列(序列中的元素可以改變):例如 列表(list)字典(dict)
不可變序列(序列中的元素不能改變):例如 字符串(str)元組(tuple)
2.列表(list)
列表是Python中的?個對象
列表的作用:
· 列表中可以保存多個有序的數據
python有幾種序列類型。· 列表是用來存儲對象的對象
2.1列表的使用
列表的創建:通過[]來創建?個空列表
例:a=[1,2,3,4,5]
2.2切片
切片是指從現有列表中獲得?個子列表
python中哪個函數打開文件,a=[1,2,3,4,5,6,7,8]
print(a[0:7:2])運行結果為:[1, 3, 5, 7]
通過切片來獲取指定的元素
語法: 列表[起始 : 結束 : 步長]
a=[1,2,3,4,5,6,7,8]
print(a[0:7:2])運行結果為:[1, 3, 5, 7]
python 列表,print(a[0:6:1])運行結果為:[1,2,3,4,5,6,7]
print(a[0:6:])運行結果為:[1,2,3,4,5,6,7]
通過切片獲取元素時,會包括起始位置的元素,不會包括結束位置的元素
a=[1,2,3,4,5,6,7,8]
print(a[0:6])運行結果為:[1,2,3,4,5,6,7]
print(a[0:5])運行結果為:[1,2,3,4,5,6]
python函數、print(a[1:4])運行結果為:[2,3,4,5]
起始位置和結束位置的索引可以不寫
a=[1,2,3,4,5,6,7,8]
print(a[:])運行結果為:[1,2,3,4,5,6,7,8]
· 如果省略結束位置, 則會從當前的開始位置?直截取到最后
a=[1,2,3,4,5,6,7,8]
python序列類型包括哪三種、print(a[3:])運行結果為:[4,5,6,7,8]
· 如果省略開始位置, 則會從第?個元素截取到結束的元素,但是不包括結束的元素
a=[1,2,3,4,5,6,7,8]
print(a[:5])運行結果為:[1,2,3,4,5]
· 如果開始位置和結束位置都省略, 則會從第?個元素開始截取到最后?個元素
a=[1,2,3,4,5,6,7,8]
python序列數據類型。print(a[:])運行結果為:[1,2,3,4,5,6,7,8]
步長表示每次獲取元素的間隔,默認是1(可以省略不寫)
步長不能是0,但可以是是負數(負數時,表示從右往左開始取)
a=[1,2,3,4,5,6,7,8]
print(a[:])運行結果為:[1,2,3,4,5,6,7,8]
----------------------------------------------------------------------------
python列表和元組。a=[1,2,3,4,5,6,7,8]
print(a[-2:-6:-1])運行結果為:[7, 6, 5, 4]
----------------------------------------------------------------------------
a=[1,2,3,4,5,6,7,8]
print(a[-2:-6:-2])運行結果為:[7, 5]
3.通用操作
python屬于序列類型?+和*
· 1.+ 可以將兩個列表拼接成?個列表
a=[1,2,3]
b=[4,5,6]
c=a+b
print(c) 運行結果為:[1,2,3,4,5,6]
python序列包括、· 2.* 可以將列表重復指定的次數 (注意2個列表不能夠做乘法,要和整數做乘法運算)
a=[1,2,3]*2
print(a)運行結果為:[1,2,3,1,2,3]
in 和 not in
· in用來檢查指定元素是否在列表當中
a=['大娃','二娃','三娃']
python序列和列表的區別,b='大娃' in a
print(b)運行結果為:Ture
-------------------------------------------------------------------------
a=['大娃','二娃','三娃']
b='四娃' in a
print(b)運行結果為:False
python中的序列有哪些?· not in 用來檢查指定元素是否不在列表當中
a=['大娃','二娃','三娃']
b='四娃' not in a
print(b)運行結果為:Ture
-------------------------------------------------------------------------
a=['大娃','二娃','三娃']
python有序序列和無序序列,b='二娃' not in a
print(b)運行結果為:False
len() 獲取列表中元素的個數
a=['大娃','二娃','三娃']
print(len(a))運行結果為:3
max() 獲取列表中最大值
a=[5,10,22]
print(max(a))運行結果為:22
min() 獲取列表中最小值
a=[5,10,22]
print(min(a))運行結果為:5
list.index(x[, start[, end]])
· 第?個參數 獲取指定元素在列表中的位置
a=[1,2,3,4,5,6,7,8]
print(a.index(4))運行結果為:3
-----------------------------------------------------
a=[1,2,3,4,5,6,7,8,4,4] #多個相同元素時,還是會取第一個元素的位置
print(a.index(4))運行結果為:3
-----------------------------------------------------
a=[1,2,3,4,5,6,7,8,4]
#print(a.index(4,4,8))中第?個參數表示查找的起始位置,第三個參數 表示查找的結束位置
print(a.index(4,4,8))運行結果為:8
· 第?個參數 表示查找的起始位置
· 第三個參數 表示查找的結束位置
list.count(x) 統計指定元素在列表中出現的個數
a=[1,2,3,4,5,6,7,8,4]
print(a.count(4))運行結果為:2
4.修改列表
通過切片來修改(起始就是給切片的內容重新賦值,但是賦值的內容必須是?個序列)
a=[1,2,3,4,5,6,7,8,4]
a[0:3]=9,10,11,12
print(a)運行結果為:[9, 10, 11, 12, 4, 5, 6, 7, 8, 4]
---------------------------------------------------------------------
a=[1,2,3,4,5,6,7,8,4]
a[0:3]=9,10
print(a)運行結果為: [9, 10, 4, 5, 6, 7, 8, 4]
---------------------------------------------------------------------
a=[1,2,3,4,5,6,7,8,4]
a[0:3]=9,10,11,12,13,14
print(a)運行結果為:[9, 10, 11, 12, 13, 14, 4, 5, 6, 7, 8, 4]
當設置了步長時,序列中元素的個數必須和切片中元素的個數保持?致
a=[1,2,3,4,5,6,7,8]
a[0:7:2]=9,10,11,12
print(a)運行結果為:[9, 2, 10, 4, 11, 6, 12, 8]
通過切片刪除元素:
a=[1,2,3,4,5,6,7,8]
a[2:4]=[]
print(a)運行結果為:[1, 2, 5, 6, 7, 8]
通過del來刪除元素:
· del list[起始 : 結束]
· list = []
a=[1,2,3,4,5,6,7,8]
del a[2:4]
print(a)運行結果為:[1, 2, 5, 6, 7, 8]
通過索引
a=[1,2,3,4,5,6,7,8,4] #通過索引修改
a[0]=3
print(a)運行結果為:[3, 2, 3, 4, 5, 6, 7, 8, 4]
以上均為可變序列的修改方法,不可變序列修改,可將其變為可變序列后再進行修改,方法如下:
s='python'
s=list(s)
s[1]='K'
print(s)運行結果為:['p', 'K', 't', 'h', 'o', 'n']
5.列表的方法
append() 像列表的最后添加?個元素
a=[1,2,3,4,5,6,7,8]
a.append(11)
print(a))運行結果為:[1, 2, 3, 4, 5, 6, 7, 8, 11]
insert(arg1,arg2) 像列表指定位置插入(元素慘數1:要插入的位置,參數2:要插入的元素)
a=[1,2,3,4,5,6,7,8]
a.insert(6,11)
print(a)運行結果為:[1, 2, 3, 4, 5, 6, 11, 7, 8]
extend(iterable) 使用?個新的序列來擴展當前序列(它會將該序列的中元素添加到列表中) 參數需要傳遞?個序列(添加到原列表的最后邊)
a=[1,2,3,4,5,6,7,8]
a.extend([11,13])
print(a)運行結果為:[1, 2, 3, 4, 5, 6, 7, 8, 11, 13]
clear()清空列表
a=[1,2,3,4,5,6,7,8]
a.clear()
print(a)運行結果為:[]
pop() 根據索引刪除并返回指定元素
a=[1,2,3,4,5,6,7,8] #刪除指定位置元素
a.pop(2)
print(a)運行結果為:[1, 2, 4, 5, 6, 7, 8]
---------------------------------------------------------
a=[1,2,3,4,5,6,7,8] #刪除指定位置元素
resut=a.pop(2)
print(resut)
print(a)運行結果為:
3
[1, 2, 4, 5, 6, 7, 8]
---------------------------------------------------------
a=[1,2,3,4,5,6,7,8] #刪除最后一個元素
resut=a.pop()
print(resut)
print(a)運行結果為:
8
[1, 2, 3, 4, 5, 6, 7]
remove() 刪除指定元素 (如果相同值的元素有多個,只會刪除第?個)
a=[1,2,3,4,5,6,7,8]
a.remove(5)
print(a)運行結果為:[1, 2, 3, 4, 6, 7, 8]
---------------------------------------------------------
a=[1,2,3,4,5,6,7,8,5,5,5,5]
a.remove(5)
print(a)運行結果為:[1, 2, 3, 4, 6, 7, 8,5,5,5,5]
reverse() 翻轉列表
a=[1,2,3,4,5,6,7,8]
a.reverse()
print(a)運行結果為:[8, 7, 6, 5, 4, 3, 2, 1]
sort(key=None,reverse=False) 用來對列表中的元素進行排序
reverse: True反序;False 正序
a = list('abghkwty')
a.sort()
print(a)運行結果為:['a', 'b', 'g', 'h', 'k', 't', 'w', 'y']
---------------------------------------------------------
a = list('abghkwty')
a.sort(reverse=True)
print(a)運行結果為: ['y', 'w', 't', 'k', 'h', 'g', 'b', 'a']
6.遍歷列表
通過for循環來遍歷列表
語法:
for 變量 in 序列(遍歷的規則):
代碼塊
例:
a = ['大娃','二娃','三娃','四娃']
for s in a:
print(s)運行結果為:
大娃
二娃
三娃
四娃
注意: for循環的代碼塊會執行多次,序列中有幾個元素就會執行幾次。每執行?次就會將序列中的?個元素賦值給變量,所以我們可以通過變量來獲取列表中的元素
7.range(start, stop, step)
參數說明
start: 計數從 start 開始,默認是從 0 開始。例如range(5)等價于 range(0, 5)
stop: 計數到 stop 結束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5
step:步長,默認為1,例如:range(0, 5) 等價于 range(0, 5, 1)
a=[1,2,3,4,5,6,7,8,9]
print(list(range(0,9,2)))運行結果為:[0, 2, 4, 6, 8]#表示的是位置參數
-----------------------------------------------------------------
a=[1,2,3,4,5,6,7,8,9]
for i in range(0,9,2):
print(a[i])運行結果為:
1
3
5
7
9
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态