1. 程式人生 > >列表 字典 元組 集合

列表 字典 元組 集合

常用操作 獲取 如果 values 不能 取值 添加 count get()

列表:

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. 不能保證原來的順序

列表 字典 元組 集合