一、容器
1. 列表【】:有序可重復可混裝可修改
[元素1,元素2,元素3,...]
? 可以容納多個元素
? 可以容納不同類型的元素(混裝)
? 數據是有序存儲的(有下標序號)
? 允許重復數據存在
? 可以修改(增加或刪除元素等)
2. 元組():有序可重復可混裝不可修改
#定義元組字面量 (元素,元素,......,元素)#定義元組數量 變量名稱 = (元素,元素,...... ,元素)#定義空元組 變量名稱 = () 方式一 變量名稱 = tuple() 方式二
注:1、元組只有一個數據時,這個數據后面要添加逗號,否則不是元組類型!?
? ? ? ?2、元組也支持嵌套
???????3、如果元組中嵌套的有列表,那么列表中的元素可以修改(列表list的本質沒有改變,所以不違背元組不可以修改的原則)
? 可以容納多個數據
? 可以容納不同類型的數據(混裝)
? 數據是有序存儲的(下標索引)
? 允許重復數據存在
? 不可以修改 (增加或刪除元素等)
? 支持for循環
3. 字符串"":有序可重復不可混裝不可修改
語法2:字符串.strip(字符串)
注意:傳入的是"12",其實就是:"1"和"2"都會移除,是按照單個字符
作為數據容器,字符串有如下特點:
? 只可以存儲字符串
? 長度任意(取決于內存大小)
? 支持下標索引
? 允許重復字符串存在
? 不可以修改 (增加或刪除元素等)
? 支持for循環
4. 序列
序列支持切片,即:列表、元組、字符串,均支持進行切片操作
切片:從一個序列中,取出一個子序列
語法:序列[起始下標:結束下標:步長]
表示從序列中,從指定位置開始,依次取出元素,到指定位置結束,得到一個新序列:
起始下標表示從何處開始,可以留空,留空視作從頭開始
? 結束下標(不含)表示何處結束,可以留空,留空視作截取到結尾
? 步長表示,依次取元素的間隔
? 步長 1 表示,一個個取元素
? 步長 2 表示,每次跳過 1 個元素取
? 步長 N 表示,每次跳過 N-1 個元素取
? 步長為負數表示,反向取(注意,起始下標和結束下標也要反向標記)
注意,此操作不會影響序列本身,而是會得到一個新的序列(列表、元組、字符串)
?注:可以用此方法倒序字符串等序列(步長設為-1)
5. 集合{1,2,3}:無序不可重復可混裝可修改
? 可以容納多個數據
? 可以容納不同類型的數據(混裝)
? 數據是無序存儲的(不支持下標索引)
? 不允許重復數據存在
? 可以修改 (增加或刪除元素等)
? 支持for循環不支持使用while循環
6. 字典{key:value}
?可以容納多個數據
? 可以容納不同類型的數據
? 每一份數據是 KeyValue 鍵值對
? 可以通過 Key 獲取到 Value , Key 不可重復(重復會覆蓋)
? 不支持下標索引
? 可以修改 (增加或刪除更新元素等)
? 支持for循環,不支持 while 循環
基于各類數據容器的特點,它們的應用場景如下:
? 列表:一批數據,可修改、可重復的存儲 場景
? 元組:一批數據,不可修改、可重復的存儲 場景
? 字符串:一串字符串的存儲 場景
? 集合:一批數據,去重存儲 場景
? 字典:一批數據,可用 Key 檢索 Value 的存儲場景
??列表使用:?[]
??元組使用:?()
??字符串使用:""
??集合使用:?{}
?字典使用:{}和鍵值對
————————————————
原文鏈接:https://blog.csdn.net/dream_ready/article/details/130138427