學(xué)習(xí)內(nèi)容:Python基礎(chǔ)入門知識(shí)
專欄作者:不渴望力量的哈士奇不渴望力量的哈士奇擅長(zhǎng)Python全棧白寶書[更新中],⑤ - 數(shù)據(jù)庫(kù)開發(fā)實(shí)戰(zhàn)篇,網(wǎng)安之路,等方面的知識(shí),不渴望力量的哈士奇關(guān)注云原生,算法,python,集成測(cè)試,去中心化,web安全,智能合約,devops,golang,功能測(cè)試,測(cè)試工具,推薦算法領(lǐng)域.https://blog.csdn.net/weixin_42250835?type=blog
學(xué)習(xí)專欄:① - 零基礎(chǔ)入門篇_不渴望力量的哈士奇的博客-CSDN博客
聲明:本文內(nèi)容大部分為引用,是在學(xué)習(xí)過(guò)程中復(fù)制的大佬的文章,僅供學(xué)習(xí)使用,僅作為筆記參考。
筆記目錄
目錄
???Python筆記
?? 字典
????? 字典的基本概念
? ? ?? 字典的定義
?????? 字典支持的數(shù)據(jù)類型
????? 字典的基本操作
?? 集合
????? 集合的基本概念
????? 集合和列表的區(qū)別
????? 集合的運(yùn)算
????? 集合常用的方法?
???Python筆記
?? 字典
????? 字典的基本概念
? ? ? ? 字典是多個(gè)鍵值對(duì)所組成的一種數(shù)據(jù)類型。一個(gè)鍵(key)對(duì)應(yīng)一個(gè)值(value)。其中鍵是索引,可以是任意不可變的類型。鍵和值放在 { } 中間,每一對(duì)鍵值對(duì)之間用逗號(hào)分開。
? ? ? ? 在Python中,dict代表著字典這一類型,也可以用它定義一個(gè)字典。
? ? ?? 字典的定義
? ? ? ? 字典通常用于描述一個(gè)對(duì)象的屬性,如果一個(gè)物品的信息,如:顏色、大小、形狀等。
# 字典的定義
soap = {'name':'上海硫磺皂','color':'yellow','teast':'茉莉花'}
print('香皂的名:'+ soap['name'])
print('香皂的顏色:' + soap['color'])
print('香皂的味道:' + soap['teast'])
?????? 字典支持的數(shù)據(jù)類型
? ? ? ? 鍵(key)支持 字符串、數(shù)字、元組類型,但不支持列表類型。
? ? ? ? ? ? ? ? ?? 通常是字符串或數(shù)字。
? ? ? ? ? ? ? ? ?? 如果一個(gè)元組質(zhì)保函字符串、數(shù)字或者元組,那么這個(gè)元組可以用作鍵(key)。
?????????????????? 如果元組直接或間接的包含了可變對(duì)象,那么它就不能用作鍵(key)。
? ? ? ? 值(value)支持所有的Python數(shù)據(jù)類型
# 字典中鍵和值所支持的數(shù)據(jù)類型
person = {'name':'張三', 'age':23, 'weight':65.3, 'height':175, 'now':'2022-11-20'}
print(type(person['name']))
print(type(person['age']))
print(type(person['weight']))
print(type(person['now']))
? ? ? ? ?聲明一個(gè)空的字典,兩種方式:
# 兩種方式聲明空的字典
dict_1 = {}
dict_2 = dict()
print(dict_1, type(dict_1))
print(dict_2, type(dict_2))
????? 字典的基本操作
? ? ? ? 字典的讀取:
# 字典的讀取
soap = {'name':'上海硫磺皂','color':'yellow','teast':'茉莉花'}
print('香皂的名:'+ soap['name'])
print('香皂的顏色:' + soap['color'])
print('香皂的味道:' + soap['teast'])
? ? ? ? 字典的值的修改:
soap = {'name':'上海硫磺皂','color':'yellow','teast':'茉莉花'}
print('香皂的名:'+ soap['name'])
print('香皂的顏色:' + soap['color'])
print('香皂的味道:' + soap['teast'])
soap['color'] = '黃色'
print('修改后的香皂的顏色:' + soap['color'])
? ? ? ? ?向字典中添加鍵值對(duì):
print('添加前字典:', soap)
soap['tip'] = '好用極了'
print('添加后字典:', soap)
? ? ? ? ?刪除字典中的鍵值對(duì):
soap = {'name':'上海硫磺皂','color':'yellow','teast':'茉莉花'}
print('刪除前的字典:', soap)
del soap['color']
print('刪除后的字典:', soap)
?
? ? ? ? ?查詢某個(gè)成員是否在字典中:
soap = {'name':'上海硫磺皂','color':'yellow','teast':'茉莉花'}
print('name屬性是否在字典中:', 'name' in soap)
print('age屬性是否在字典中:', 'age' in soap)
print('茉莉花 是否在字典中:', '茉莉花' in soap)
? ? ? ? ????? 查詢時(shí)是根據(jù)鍵(key)進(jìn)行查詢的,并不是通過(guò)值(value)進(jìn)行查詢。
?? 集合
????? 集合的基本概念
? ? ? ? 集合是一個(gè)無(wú)序的(使用哈希存儲(chǔ))、不重復(fù)的序列。它的基本用法包括成員檢測(cè)和消除重復(fù)元素。集合元素也支持像聯(lián)合、交集、差集、對(duì)稱差等數(shù)學(xué)運(yùn)算。集合和字典一樣,也是存放在 { } 中,不過(guò),集合中的元素不是鍵值對(duì)的形式。
? ? ? ? {1,2,3}、{'b', 'c', 'd'}
cars = {'比亞迪','吉利','五菱'}
print('車的品牌:', cars)
score = {120,134,117,117}
print('英語(yǔ)成績(jī):',score)
????????由輸出結(jié)果可以知道,存儲(chǔ)的順序和輸出的順序并不相同,所以,集合并不是有序的。并且,集合會(huì)把集合中重復(fù)的元素剔除。
arr_1 = {{1,}, {2, }}
print(arr_1)
arr_2 = {[1, ],[2, ]}
print(arr_2)
????????????因?yàn)?set 集合只能包含不可變對(duì)象元素,而列表、集合本身都是可變對(duì)象,所以會(huì)報(bào)錯(cuò)。
????? 集合和列表的區(qū)別
? ? ? ? 列表中的元素允許重復(fù),輸出時(shí)列表不會(huì)剔除多余元素。
? ? ? ? 列表是有序的,定義的是什么樣子,輸出就是什么樣子。集合可能會(huì)有變化。
? ? ? ? 集合中沒有索引的概念,而列表中提供了索引服務(wù),因?yàn)樗怯行虻?,可以通過(guò)下標(biāo)進(jìn)行查找的數(shù)據(jù)結(jié)構(gòu)。
????? 集合的運(yùn)算
? ? ? ? ???運(yùn)算符 |? ? ? ? 合并多個(gè)集合
# 合并多個(gè)集合
set_1 = {1, 2, 3}
set_2 = {4, 5}
set_3 = {3,4,5,6}
set_4 = (set_1 | set_2)
set_5 = (set_1 | set_3)
print(set_4) # 輸出:{1,2,3,4,5}
print(set_5) # 輸出:{1,2,3,4,5,6}
?? ? ? ? ???集合在合并過(guò)程中會(huì)自動(dòng)的剔除重復(fù)的元素?
? ? ? ? ?? 運(yùn)算符 -? ? ? ? 從集合中刪除元素
# 從集合中刪除元素
set_1 = {1, 2, 3}
set_2 = {4, 5}
set_3 = {3,4,5,6}
set_4 = (set_1 - set_2)
set_5 = (set_1 - set_3)
print(set_4) # 輸出:{1,2,3}
print(set_5) # 輸出:{1,2}
? ? ? ? ???運(yùn)算符 &? ? ? ? ?取兩個(gè)集合的交集
# 取兩個(gè)集合的交集
set_1 = {1, 2, 3}
set_2 = {4, 5}
set_3 = {3,4,5,6}
set_4 = (set_1 & set_2)
set_5 = (set_1 & set_3)
print(set_4) # 輸出:set()
print(set_5) # 輸出:{3}
????????????運(yùn)算符 ^? ? ? ? 取兩個(gè)集合的差集
# 取兩個(gè)集合的差集
set_1 = {1, 2, 3}
set_2 = {4, 5}
set_3 = {3,4,5,6}
set_4 = (set_1 ^ set_2)
set_5 = (set_1 ^ set_3)
print(set_4) # 輸出:{1,2,3,4,5}
print(set_5) # 輸出:{1,2,4,5,6}
?????????? 關(guān)鍵字 in????????檢查集合中是否包含指定的元素
# 取兩個(gè)集合的差集
set_1 = {1, 2, 3}
set_2 = {4, 5}
print(1 in set_1) # 輸出:True
print(2 in set_2) # 輸出:False
????? 集合常用的方法?
? ? ? ? ???add(item)? ? ? ? 向集合中添加元素
# 向集合中添加元素
set_1 = {1, 2, 3}
set_2 = {4, 5}
set_1.add(6)
print(set_1) # 輸出:{1,2,3,6}
set_2.add('Hi')
print(set_2) # 輸出:{'Hi',4,5}
??????????? remove(item)? ? ? ? 從集合中刪除元素
# 向集合中刪除成員
set_1 = {1,2,3,4,7}
print('執(zhí)行remove之前集合的成員:',set_1)
set_1.remove(7)
print('執(zhí)行remove之后集合的成員:', set_1)
???????????clear() 方法? ? ? ? 清除集合中所有的元素
# 清除集合中所有的元素
set_1 = {1, 2, 3}
print('清除之前的集合的樣子:',set_1)
set_1.clear()
print('清除之后的集合的樣子:',set_1)
???????????union() 方法? ? ? ? 返回兩個(gè)集合的并集
# union() 返回兩個(gè)集合的并集
set_1 = {1,2}
set_2 = {2,3,4}
print(set_2.union(set_1))
??????????intersection() 方法? ? ? ? 返回兩個(gè)集合的交集
# intersection() 返回兩個(gè)集合的交集
set_1 = {1, 2}
set_2 = {2, 3, 4}
print(set_2.intersection(set_1))
??????????issubset() 方法? ? ? ? 判斷一個(gè)集合是不是另一個(gè)集合的子集
# issubset() 判定集合是否為子集
set_1 = {1, 2}
set_2 = {2, 3, 4}
set_3 = {2}
print(set_1.issubset(set_2)) # 判斷set_1是否為set_2的子集 返回:False
print(set_3.issubset(set_2)) # 判斷set_3是否為set_2的子集 返回:True
??????????issuperset??????????????() 方法? ? ? ? 判斷一個(gè)集合是不是另一個(gè)集合的超集
# 判斷一個(gè)集合是否是另一個(gè)集合的超集
set_1 = {1, 2}
set_2 = {2, 3, 4}
set_3 = {2}
print('判斷set_2是否是set_3的超集:',set_2.issuperset(set_3))
print('判斷set_2是否是set_1的超集:', set_2.issuperset(set_1))
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-447645.html
??書山有路勤為徑,學(xué)海無(wú)涯苦作舟。?????????文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-447645.html
到了這里,關(guān)于Python-字典與集合的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!