一,字典
1,定義:
字典與列表類似,也是可變序列,但與列表不同的地方在於,字典是無序性的可變序列,儲存內容是以「鍵-值對」的形式存放。
2,特徵:
字典中的內容是通過鍵來讀取。
字典是可變的,可以任意巢狀
字典中的鍵必須是唯一的,如果同乙個鍵出現兩次,那麼只會記住後一次的值。
字典中的鍵是不可變的,所以列表不可以作為鍵使用,但元組可以。
3,字典的建立
方法一:用賦值運算子,直接建立。
dictionary=
方法二:通過對映函式zip()建立
dictionary=dict(zip(list1,list2))
zip()函式的作用是將多個列表或元組對應位置的元素組合成元組,並返回zip物件。
dict()函式是將其轉換為字典。
**:
city=
['重慶'
,'上海'
,'北京'
同理,如果我使用list()函式來轉換,則會生成乙個列表。
city=
['重慶'
,'上海'
,'北京'
方法三,通過給定的「鍵值對」建立字典
dictionary=dict(key1=value1,key2=value2…keyn=valuen)
注意:key一定是唯一的。
另外,對於建立乙個值為空的字典,我們有乙個簡便方法:
dictionary=dict.fromkeys(tuple)
tuple中的元素為字典中的鍵。
方法四,直接使用元組與列表搭配組合,建立字典。
dictionary=
4,字典的刪除
del 字典名
另外,如果要清空字典內的所有鍵值對,使用
字典名.clear()
5,訪問字典
型別一,訪問所有值
print(字典名)
型別二,訪問單個值
方法一,print(字典名[『鍵』])
注意:如果指定的鍵不存在時,將會報錯,所以我們盡量使用以下語句。
print(dictionary[『key』] if 『key』 in dictionary else 『我的字典裡沒有該鍵』)
解讀:檢視某個元素是否在序列中。
方法二,使用get()函式獲取值
dictionary.get(『key』)
型別三,遍歷字典
使用for迴圈與items()組合進行遍歷。
items()函式的作用是使字典變為乙個元組列表,型別如:
[(key,value),(),()…]
**:
city=
['重慶'
,'上海'
,'北京'
]person=
['boss'
,'ales'
,'mary'
]dict
=dict
(zip
(city,person)
)print
(dict
)print
("開始遍歷 :"
另外,如果將item改為key,value則可以分別輸出鍵與值。
6,新增,修改,刪除字典元素
新增與修改字典元素:
dictionary[『key』]=value
刪除字典元素:
del dictionary[『key』]
注意:鍵如果不存在,會丟擲異常,所以需要用的前面(第5點,型別二,方法一)介紹的方法。
7,字典推導式
newdict=
city=
['重慶'
,'上海'
,'北京'
]person=
['boss'
,'ales'
,'mary'
]dict
=print
(dict
)
結果:
二,集合
1,定義:
python中的集合與數學上的集合概念相似,也是用於儲存不重複(去重)的元素,python中的集合可以分為可變集合與不可變集合,我們要將的是無序可變的set集合。
2,建立集合
方法一,使用賦值運算子,直接建立。
setname=
注意:集合的最大優點就是去重,所以如果我們建立集合時輸入了重複的元素python會自動的保留乙個。
方法二,使用set()函式建立集合
set()函式可以將元組,列表等可迭代物件轉換為集合。
setname=set(可迭代物件)
注意:建立空集合的時候,只能使用set()函式,不能使用{}的方法,因為{}表示建立乙個空的字典。
3,向集合中新增與刪除元素
新增元素:
setname.add(元素)
刪除元素:
型別一,刪除整個集合
del 集合名
型別二,刪除乙個元素
方法一:pop()方法
方法二:remove()方法
型別三,清空集合元素
setname.clear()
4集合的交集,並集,差集運算
交集:符號,』&』
並集:符號,』|』
差集:符號,』-』
作用原理與數學中的原理一摸一樣。
例如交集:
city=
set(
['重慶'
,'上海'
,'山東'])
city1=
set(
['重慶'
,'成都'])
print
('交集運算:'
,'\t'
,city&city1)
7月29日打卡
1.貪心法中的小心機 挑戰p39頁貪心法,硬幣問題 其中有一步利用了乙個小心機 include include include using namespace std const int v 6 int c 6 a void solve printf d n ans int main scanf d...
Python的回顧 8月6日
def division 小盆友,分香蕉 return banana int input 請輸入香蕉的個數 children int input 請輸入有多少個小朋友 num banana children if num 0 print 每個小朋友 str num 個 if name main di...
10月29日10月30日
蜷縮著,蜷縮著,便是四年。丟去的是光陰,丟不去的是你。接連幾天看了一部網路 很久沒這樣看網路 了,原因是室友在看網路 的網劇 實在無聊就去翻了翻 結果 後面 癮就來了 3w 的txt檔案一天晚上看到了3點 第二天起來 搬工作室 頭也沒洗 任自己邋遢 狂躁 第二天晚上看到了1點 早上起來接著看 終於 ...