列表 字典 元組 集合
列表:
1、用途:記錄多個值(同種屬性)
2、定義方式:在[]內用逗號分隔開多個任意類型的值
類型轉換 定義列表實際上是借用list()方法生成列表,可以將其他類型轉化為列表,如字符串元組,字典集合
3、常用操作+內置的方法
1、按索引存取值(正向存取+反向存取):即可存也可以取
使用下標索引來訪問列表中的值
2、切片()
列表中的截取與字符串類似,按照索引
3、長度
使用len()方法獲取列表長度,參數為列表
4、成員運算in和not in
通過返回值判斷元素是否在列表中,
5、追加&插入
使用append()方法來添加列表項,添加在列表末尾
insert(index,obj)使用insert方法可以將對象插入列表,index為插入位置的索引
list.remove(obj)移除某個值在列表中的第一個匹配項
6、刪除
可以使用 del 語句來刪除列表的的元素
list.pop(index)刪除並返回列表中的一個元素,index值默認為-1
7、循環
可以使用for輸出列表元素
for element in list:
print(element)
list.count(obj)方法,統計某個元組在列表中出現的次數
list.extend(seq)在列表末尾一次性添加另一個序列的多個值
list.index(obj)返回對象第一次出現在索引中的位置
list.reverse()將列表反轉無返回值
list.copy()返回復制的列表
list.clear()清空列表
list.sort(reverse=False)將列表排序reverse值默認為False,從小到大排序,
存多個值
有序
可變(可變==不可hash 不可變==可hash)
隊列:先進先出
堆棧:後進先出
可以通過列表中的append()方法與pop()方法實現隊列以及堆棧模型
元組tuple:
用途:元組就是一個不可變的列表
2、定義方式:在()內用逗號分隔開多個任意類型的元素
當元組個數只有一個時,必須加逗號與()運算符進行區分
類型轉換
通過調用tuple()方法創建元組對象,參數可以為字符串類型,列表,字典集合
3、常用操作+內置的方法
1、按索引取值(正向取+反向取):
列表屬於不可變類型,因此只能取
2、切片()
等同於字符串遵循左閉右開原則
3、長度
len()
4、成員運算in和not in
等同於列表
5、循環
同上
tuple.index(element)返回元素第一次出現的索引,當元素不存在時將報錯
tuple.count(element)返回元素在元組中的個數,當元素不存在時返回值為0
存多個值
有序
不可變(1、可變:值變,id不變。可變==不可hash 2、不可變:值變,id就變。不可變==可hash)
元組中存儲的是索引以及對象的id()信息,因此元組不可變指的是元組中存儲的數據不可變,並不是元組引用的對象不可變
元組禁止修改但可以通過+,*對元組進行組合,將生成一個全新的元組
當使用列表元組對字典類型進行轉化時,將只能講字典的key存進列表及元組
字典類型dict
1、用途:記錄多個值,列表是索引對應值,而字典是key對應值,其中key對value有描述性的功能
2、定義方式:在{}用逗號分隔開多個元素,每個元素都是key:value的形式,其中key可以不可變類型,通常是字符串類型
而value可以是任意類型
類型轉換
當使用dict()方法時,參數可以為,元組,列表(當他們的元素處於一一對應的關系時),也可以將賦值表達式表示成字典形式
也可以使用fromkeys(seq,val)方法創建字典類型
以序列seq做字典中的鍵,val為對應的值
3、常用操作+內置的方法
1、按key存取值:可存可取
把相應的鍵放入到方括號中
可以使用get(key)方法取值當key不屬於字典時,返回default
2、長度len
len(dict)將得到字典鍵值對個數
3、成員運算in和not in :是以字典的key為準的
即判斷元素是否屬於字典的鍵
4、刪除
dict.clear()方法將字典所有元素刪除
dict.pop(key)刪除指定鍵所對應的值返回被刪除的對象
dict.popitem()隨機返回被刪除的鍵值對
5、鍵keys(),值values(),鍵值對items()
dict.keys(),dict.values()分別返回字典所有鍵,所有值的可叠代類型集合
使用for 可以叠代keys(),values(),items()方法所產生的特定集合
當使用for 循環時,參數分別為1,1,2,且對應為鍵,值,鍵與值
dict.copy()方法返回一個字典的淺復制
dic.update(dict)將字典2的鍵值對更新到字典1中
dict.setdefault(key,value)和get()類似, 但如果鍵不存在於字典中,將會添加鍵並將值設為value如果存在將返回對應的值
存多個值 無序 可變
集合
集合類型set
1、用途:I: 關系運算 II:去重
2、定義方式:在{}內用逗號分隔開多個元素,當設置空集合時,必須使用set()方法
但是元素的特點是
I: 集合內的元素必須是不可變類型
II: 集合內元素無序
III: 集合內元素不能重復
數據類型轉換
可以將其他類型轉化為集合,且不可存在可變類型
3、常用操作+內置的方法
1、長度len
集合長度
2、成員運算in和not in
判斷元素是否在集合
3、|合集:
4、&交集:
5、-差集:
6、^對稱差集:求沒有同時報名兩門課程的學生
7、==
是否相等
父子集描述的是一種包含與被包含的關系
8、父集:>=
9、子集:<=
set.add(obj)將對象插入集合如果已存在,將不做任何操作
set.update(參數)參數可以是列表元組字典,update()方法只是將對象的元素加入集合,
remove(x)方法將元素 x 從集合 s 中移除,如果元素不存在,將發生錯誤無返回值
此外還有一個方法discard()也是移除集合中的元素,且如果元素不存在,不會發生錯誤
s.pop()隨機刪除一個元素並返回
clear()清空集合
in判斷元素是否存在集合中
copy()拷貝一個集合
存多個值
無序
可變
集合的去重
局限性
1. 只能針對不可變類型
2. 不能保證原來的順序
列表 字典 元組 集合