2018-10-09-day8字典和集合

元祖

1.什么是元祖
使用()將多個元素括起來,多個元素之間用逗號隔開
a.
容器,可以同時存儲多個數(shù)據(jù),不可變的,有序的
不可變 ---> 不能增刪改
有序 ---> 可以通過下標獲取元素

b.
元素,可以是任何類型的數(shù)據(jù)

1.如果元祖的元素只有一個的時候,必須在元素的后面加逗號

2.多個數(shù)據(jù)直接用逗號隔開,表示的也是一個元祖
元祖的元素不支持增刪改
列表獲取元素的方式,元祖都支持:元祖[下標], 元祖[:], 元祖[::]
遍歷:和列表一樣

補充:獲取部分元素
可以通過相同的變量個數(shù),來一一獲取元祖中的元素
可以通過在變量前加來獲取部分的元素(適用于列表)
了解)
可以通過在列表或者元祖前加
,來展開列表中的元素
+, *, ==, is, in, not in ---> 和列表一樣
所有的序列都可以轉(zhuǎn)換成元祖,注意,字典只能將key值作為元祖元素
可以通過sorted()方法,對元祖進行排序,產(chǎn)生一個新的列表

2.認識字典

什么時候用容器類型的數(shù)據(jù)? ---> 需要同時保存多個數(shù)據(jù)的時候
什么時候用列表? ---> 保存的多個數(shù)據(jù)是同一類的數(shù)據(jù)(不需要區(qū)分)
什么時候用字典? ---> 保存的多個數(shù)據(jù)是不同類的數(shù)據(jù) (需要區(qū)分)

1.什么是字典(dict)
字典是一個容器類的數(shù)據(jù)類型,可以用來存儲多個數(shù)據(jù)(以鍵值對的形式存儲)??勺兊?,無序的
{key1:value1, key2:value2...}
可變 ---> 可以增刪改
無序 ---> 不能通過下標獲取值

鍵(key): 用來定位值的。要求只能是不可變的數(shù)據(jù)類型(數(shù)字,字符串,元祖...)。是唯一的
值(value): 存儲的數(shù)據(jù)??梢允侨魏晤愋偷臄?shù)據(jù)

3.字典的增刪改查

1.查(獲取鍵值對的value)
獲取字典的值,必須通過key來獲取

a.字典[key] ---> 獲取key對應(yīng)的值
注意:key值必須是存在的,否則會報KeyError

b.字典.get(key) ---> 通過key獲取值
注意:key值不存在的時候不會報錯,結(jié)果是None
確定key一定存在就是使用[]語法,key可能不存在的時候使用get語法

c.直接遍歷字典(推薦使用)
通過for-in遍歷字典拿到的是key值

d.其他遍歷方式(了解)

2.增(添加鍵值對)
字典[key] = 值(key不存在)

3.修改(修改值)
字典[key] = 新值 (key存在)

4.刪 (刪除鍵值對)

a. del 字典[key] ---> 通過key刪除鍵值對

b. 字典.pop(key) ---> 取出key對應(yīng)的值(實質(zhì)還是刪除key對應(yīng)的鍵值對)

4.字典相關(guān)操作

1.字典相關(guān)運算
==: 判斷兩個字典的值是否相等
is: 判斷兩個字典的地址是否相等
in 和 not in: key in 字典 / key not in 字典 ---> 判斷key是否存在

2.字典相關(guān)的函數(shù)和方法

1.len(字典) --> 獲取鍵值對的個數(shù)

2.字典.clear() --> 清空字典

3.字典.copy() --> 將字典中的鍵值對復(fù)制一份產(chǎn)生一個新的字典

4.dict.fromkeys(序列, 值) --> 創(chuàng)建一個字典,將序列中的每個元素作為key,值作為value

5.字典.get(key) --> key不存在取None
字典.get(key,默認值) --> key不存在取默認值

6.字典.values() --> 返回所有值對應(yīng)的序列
字典.keys() --> 返回所有鍵對應(yīng)的序列
字典.items() --> 將鍵值對轉(zhuǎn)換成元祖,作為一個序列的元素
注意:返回的都不是列表,是其他類型的序列

7.字典.setdefault(key) --> 添加鍵值對,鍵是key,值是None
字典.setdefault(key,value) --> 添加鍵值對,鍵是key,值是value
注意:key存在的時候,對字典不會有任何操作(不會修改key對應(yīng)的值)

8.字典1.update(字典2) --> 使用字典2中鍵值對去更新字典1。(已經(jīng)存在的key就更新,不存在就添加)

5.集合

1.什么是集合(set)

容器,可以同時存儲多個數(shù)據(jù),可變的,無序的,元素是唯一的
可變 --> 增刪改
無序 --> 不能通過下標獲取元素
唯一 --> 自帶去重的功能
{元素1, 元素2...}
元素:只能是不可變的數(shù)據(jù)

2.集合的增刪改查

a.查(獲取元素)

集合不能單獨的獲取一個元素,也不能切片,只能通過for-in來遍歷

b.增(添加元素)
集合.add(元素) --> 在集合中添加一個元素
集合1.update(序列) --> 將序列中的元素添加到集合1中

3.刪(刪除元素)
集合.remove(元素) --> 刪除指定的元素

4.改(集合不能改)

6.集合相關(guān)的數(shù)學(xué)運算

集合相關(guān)的運算: 是否包含,交集、并集、差集、補集

1.包含

1.集合1 >= 集合2 ---> 判斷集合1之中是否包含集合2
集合2 <= 集合2 ---> 判斷集合2之中是否包含集合1
2.交集 -> &
& --> 求兩個集合公共的部分

3.求并集
| --> 求兩個集合的和

4.求差集
集合1-集合2 --> 求集合1中除了集合2以外的部分

5.求補集
^ --> 求兩個集合除了公共部分以外的部分

7.類型的轉(zhuǎn)換

1.整型
int()
浮點數(shù)、布爾、部分字符串可以轉(zhuǎn)換成整型。
只有去掉引號后本身就是一個整數(shù)的字符串才能轉(zhuǎn)換成整型

2.浮點數(shù)
整數(shù),布爾,部分字符串可以轉(zhuǎn)換成浮點數(shù)
去掉的引號,本身就是一個數(shù)字的字符串才能轉(zhuǎn)換成浮點數(shù)
3.布爾
所有的數(shù)據(jù)都可以抓換成布爾值
為空為0的值轉(zhuǎn)換成False, 其他的數(shù)據(jù)都轉(zhuǎn)換成True

4.字符串
str()
所有的數(shù)據(jù)都可以轉(zhuǎn)換成字符串
數(shù)據(jù)轉(zhuǎn)換成字符串,就是在數(shù)據(jù)的最外面加引號

5.列表
list()
序列才能轉(zhuǎn)換成列表。
將序列中的元素作為列表的元素。字典轉(zhuǎn)換成列表,將字典的key作為列表的元素

6.元祖(和列表一樣)
tuple()
只能將序列轉(zhuǎn)換成元祖

7.字典
dict()
序列的每個元素有兩個元素的數(shù)據(jù)才能轉(zhuǎn)換成字典

8.集合
set()
序列可以轉(zhuǎn)換成集合,有去重的功能

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 01-元祖 1.什么是元祖 使用()將多個元素括起來,多個元素之間用逗號隔開a.容器,可以同時存儲多個數(shù)據(jù),不可變...
    佐手牽鼬手_89a9閱讀 120評論 0 0
  • 一、元祖 1.什么是元祖 使用()將多個元素括起來,多個元素之間用逗號隔開 a.容器,可以同時存儲多個數(shù)據(jù),不可變...
    龍神海王閱讀 148評論 0 0
  • 1.什么是元祖 a.是容器,可以存儲多個數(shù)據(jù),不可變,有序的不可變:不能增刪改有序:可以通過下標獲取 b.元素,可...
    MW演員閱讀 506評論 0 0
  • day8 元祖,字典,集合 1.元祖 1.什么是元祖使用()將多個元素括起來,多個元素之間用逗號隔開a.容器,可以...
    hfudhu閱讀 113評論 0 0
  • 1.元祖: 什么是元祖 使用()將多個元素括起來,多個元素之間用逗號隔開a.是容器,可以同時存儲多個數(shù)據(jù),不可變的...
    大黃蜂人工智能閱讀 320評論 0 0

友情鏈接更多精彩內(nèi)容