Python的回顧 7月29日

2021-10-08 15:30:10 字數 3686 閱讀 8302

一,字典

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點 早上起來接著看 終於 ...