第四章 字典和集合(當索引行不通時)

2021-09-01 08:05:34 字數 2855 閱讀 8054

一、字典

1. 建立和使用字典

phonebook=

字典由鍵及其相應的值組成,這種鍵-值對稱為項(item)。在上面例子中,鍵為名字,值為號碼,每個鍵與值間都用冒號分隔,項之間用逗號隔開,整個字典在花括號中。空子典(沒有任何項)用兩個花括號表示,即{}。

字典是通過名稱來訪問其各個值的資料結構,這種資料結構稱為對映。

建立字典的方法:

2. 基本的字典操作

字典的基本行為在很多方面都類似於序列。

3. 將字串格式設定功能應用於字典

用format_map( )可以將字典對映出來,有利於提取所需要的資訊

`phonebook =

『cecil』s phone number is .』 format_map(phonebook) ->『cecil』s phone number is 3258』

字典方法

字典是python中唯一的對映型別,字典不是序列。序列為乙個不存在的值賦值時,會報錯。而字典中,則會相應新增到字典中去。

clear :刪除所有的字典項,這種操作是就地執行的(和list.sort一樣),因此什麼都不返回(或者說返回none)

格式:d.clear( )

copy( ):方法copy返回乙個新字典,其包含的鍵-值對與原來的字典相同 (這個方法執行為淺複製,因為值本身就是原件,而非副本,替換副本,原件不會改變,但修改副本時,則原件也會發生相應的改變)

x=   

y=x.copy( )

y['username']='mlh'

y['machine'].remove('bar')

y ->

x ->

如果對副本進行修改後,不能修改原件,則需要用模組copy中的函式deepcopy

from copy import deepcopy   

d={}

d['name']=['alfred', 'betrand']

c=d.copy

dc=deepcopy(d)

c ->

dc ->

fromkeys:方法fromkeys建立乙個新字典,其中包含指定的鍵,且預設情況下每個鍵對應的值都是none.當然也可以對每個鍵指定相應的值。

dict.fromkeys([『name』, 『age』]) ->

dict.formkeys ([『name』, 『age』], 『(unknow)』) -> (注意單引號在括號外)

get方法get為訪問字典項提供了寬鬆的環境。通常,如果你試圖訪問字典中沒有的項,將引發錯誤,而使用get來訪問不存在的鍵時,沒有引發異常,而是會返回none(預設),也可以人為指定返回值。

items

方法items返回乙個包含所有字典的列表,其中每個元素都為(key, value)的形式。字典項在列表中的排列順序不確定 (注意返回值為列表)這種返回值屬於一種名為字典檢視的特殊型別。字典檢視可用於迭代,另外也可以確定其長度和成員資格檢查。

d= d.items() ->dict_items([('url', :''), ('spam', 0), ('title', 'python web site')])keys :方法keys返回乙個字典檢視,其中包含指定字典中的鍵。 dict.keys() 以列表返回乙個字典所有的鍵

pop:用於獲取與指定鍵相關聯的值,並將該鍵-值對從字典中刪除(與「索引」不同的是,它返回值後將刪除)

d= d.pop('x') ->1 d ->popitem

方法popitem類似於list.pop,但list.pop彈出列表中的最後乙個元素, 而popitem隨機彈出乙個字典項,因為字典項的順序是不確定的,沒有最後乙個元素之說,所以也無法使用列表中pop函式,但可以用popitem逐一刪除每個項。

setdefault

方法setdefault與get類似,因為它也獲取與指定的鍵相關聯的值,除此之外,setdefault還在字典不包括指定的鍵時,在字典中新增指定的鍵-值對。(即指定的鍵不存在時,setdefault返回指定的值並相應地更新字典。如果指定的鍵存在,就返回其值,並保持字典不變。與get一樣,預設為none,但可更改。

d ={} d.setdefault('name', 'n/a')->'n/a' d -> d['name']='gumby' d.setdefault('name', 'n/a')->'gumby' d->update :方法update使用乙個字典中的項來更新另乙個字典

values :方法values返回乙個由字典中的值組成的字典檢視(這個返回的值與items類似)

`d={}

d[1]=1

d[2]=2

d[3]=3

d.value( )->dict_value([1, 2 , 3, 4])

二、集合

集合(set)又稱為字典的表親,因為它和字典一樣,都是無序的,所以索引、切片等操作都是無法使用的,但它有乙個很重要的特點就是它是唯一的,沒有重複的元素。

**1. 建立集合 **

set1=

set1.add(6)

set1->

set1.remove(5)

set1->

set1.update(7,8,9)

set1->

不可變集合

即使集合像元組一樣不能隨意增加和刪除其中的元素,那可以定義不可變集合,用frozenset( )函式

set1=frozenset()集合操作

a=set('abcd'), b=set('cdef')

第4章 當索引行不通時(字典 對映)

1.字典由鍵及其相應的值組成,這種鍵值對稱為項 item 鍵必須是獨一無二的。空字典 phone 2.函式dict 從其他對映 如其他字典 或鍵 值對序列建立字典。items name gumby age 42 d dict items d d name gumby 使用關鍵字實參來呼叫dict函式...

第4章 當索引行不通時

4.1 字典的用途 4.2 建立和使用字典 phonebook phonebook alice 2341 4.2.1 函式dist 函式從其他對映或鍵值對序列建立字典 items name gumby age 42 d dict items d d dict name gumby age 42 d ...

Python第四章 字典

字典是python中唯一內建的對映型別,字典中的值並沒有特殊順序,但是都是存在乙個特定的鍵裡。鍵可以是數字 字串甚至是元組。4.1 4.2 了解建立和使用字典 phonebook alice 2345 phonebool asd traceback most recent call last fil...