python學習(四) 字典 當索引不好用時

2022-04-13 06:26:08 字數 2934 閱讀 4388

第四章 字典:當索引不好用時

4.1 字典的使用

字典的適用場景:

表示乙個遊戲棋盤的狀態,每個鍵都是由座標值組成的元組;

儲存檔案修改時間,用檔名作為鍵;

4.2 建立和使用字典

如下的「鍵-值」對就是字典

>>> phonebook =

>>> phonebook['alice']

'2341'

4.2.1 dict函式

可以用dict函式,通過其他對映或鍵-值對的序列建立字典。

>>> items = [('name','gumby'),('age',42)]

>>> d = dict(items)

>>> d['name']

'gumby'

>>> d

也可以通過關鍵字引數來建立字典:

>>> d = dict(name='gumby', age = 42)

>>> d

4.2.2 基本字典操作

>>> len(d)           // 字典長度

2>>> d["name"]     // 取得鍵對應的值

'gumby'

>>> d["name"] = "aaaa"  // 賦值

>>> d

>>> del d["name"]         // 刪除

>>> d

>>> "name" in d           // 檢查鍵是否在字典中

false

鍵型別:字典的鍵不一定為整型資料,可以是任意的不可變型別,比如浮點數,字串或者元組。

自動新增:即使鍵起初不在字典中,也可以為他賦值,這樣字典就會建立新項。

>>> x =                              //  不合法,因為這是乙個列表

>>> x[42] = 5

traceback (most recent call last):

file "", line 1, in

x[42] = 5

indexerror: list assignment index out of range

>>> x = {}                               // 合法,這是乙個對映

>>> x[42] = "fsd"

>>> x

注意:   ( )  -   元組

[ ]   -   序列

-  字典

4.2.3 字典的格式化字串

>>> var =

>>> "%(cecil)s" % var            // 可以用鍵

'3258'

4.2.4 字典的方法

1)clear

清楚字典的所有項,原地操作,無返回值

>>> var

>>> var.clear()

>>> var

{}            // 空字典

2)copy  返回相同鍵-值對的新字典(這個方法是淺複製)

>>> x =

>>> x

>>> y = x.copy()

>>> y['username'] ='newname'              // 替換某個值,原始字典不受影響

>>> y['machines'].remove('bar')            // 如果修改了某個值(原地修改,而不是替換),原始字典也會改變,

>>> y

>>> x

避免上述淺複製問題的方案是,使用深複製deepcopy

3)fromkeys:用給定的鍵建立新字典,每個鍵對應的值是none

>>> {}.fromkeys(['name','age'])

>>> dict.fromkeys(['name','age'],'(unknown)')         

4)get

>>> d = {}

>>> d["anem"]             // 這種方式訪問不存在的鍵會丟擲異常

traceback (most recent call last):

file "", line 1, in

d["anem"]

keyerror: 'anem'

>>> d.get("fsd")         // get不會丟擲異常,當訪問不存在的鍵的時候

>>>

5) has_key :python 3不支援

6) items 和iteritems

7) keys和iterkeys

8)pop:  得到給定的鍵的值,並刪除

>>> d

>>> d.pop('anme')

'fds'

>>> d

{}9) popitem:彈出隨機的項(用於乙個乙個移除並處理)

10) setdefault: 如果鍵存在,返回對應的值;如果不存在,則返預設值並更新。

>>> d

{}>>> d.setdefault('name',"jj")

'jj'

>>> d

11) update:  利用乙個字典項更新另外乙個字典。 提供的項會被新增到舊的字典中,如果鍵存在,就覆蓋。

Python學習筆記 四 字典 當索引不好用時

4.1 字典的使用 類似於c 中的map.4.2 建立和使用字典 字典可以通過下面的方式建立 phonebook 4,2,1 dict 函式 可以同dict函式,通過其他對映 比如其他字典 或者 鍵,值 這樣的序列對建立字典 items name gumby age 42 d dict items ...

Python基礎程式設計(四)字典 當索引不好用時

字典是python中唯一內建的對映型別。字典中的值並沒有特殊的結構,但是都儲存在乙個特定的鍵 key 裡。鍵可以是數字 字串甚至是元組。字典可以通過下面的方式建立 phonebook 可以用dict函式,通過其他對映 比如其他字典 或者 鍵 值 這樣的序列對建立字典。items name gubmy...

Python學習四 字典

在python中,字典是一系列鍵 值對。每個鍵都與乙個值相關聯,你可以使用鍵來訪問與之相關的值。事實上,可將任何python物件用作字典中的值,例如數字 字串 列表 甚至是字典。例項 alien print alien age 輸出17 user 0 for key,value in user 0....