鍍金池/ 教程/ Python/ 使用字典
備份腳本——版本四
使用 <strong>init</strong> 方法
控制流
異常
表 15.1 一些特殊的方法
如何創(chuàng)建你自己的模塊
使用字典
前言
使用默認(rèn)參數(shù)值
表 5.1 運(yùn)算符與它們的用法
解決問題——編寫一個 Python 腳本
使用 for 語句
使用 continue 語句
使用元組輸出
對象與參考
使用函數(shù)形參
使用默認(rèn)參數(shù)值
使用 if 語句
如何引發(fā)異常
使用源文件
使用對象的方法
使用表達(dá)式
定義函數(shù)
使用局部變量
使用列表綜合
使用 sys.argv
使用 lambda 形式
使用 global 語句
備份腳本——版本二
使用列表
使用 while 語句
備份腳本——版本一
使用元組
輸入/輸出
使用類與對象的變量
使用 sys 模塊
表 5.2 運(yùn)算符優(yōu)先級
處理異常
使用 break 語句
函數(shù)
基本概念
運(yùn)算符與表達(dá)式
介紹
使用文件
使用序列
接下來學(xué)習(xí)什么?
使用帶提示符的 Python 解釋器
使用 DocStrings
使用字面意義上的語句
最初的步驟
數(shù)據(jù)結(jié)構(gòu)
儲存與取儲存
使用 dir 函數(shù)
模塊
Python 標(biāo)準(zhǔn)庫
備份腳本——版本三(不工作?。?/span>
創(chuàng)建一個類
安裝 Python
面向?qū)ο蟮木幊?/span>
使用模塊的<strong>name</strong>
使用變量和字面意義上的常量
使用繼承

使用字典


    #!/usr/bin/python
    # Filename: using_dict.py

    # 'ab' is short for 'a'ddress'b'ook

    ab = {   'Swaroop'   : 'swaroopch@byteofpython.info',
     'Larry' : 'larry@wall.org',
     'Matsumoto' : 'matz@ruby-lang.org',
     'Spammer'   : 'spammer@hotmail.com'
     }

    print "Swaroop's address is %s" % ab['Swaroop']

    # Adding a key/value pair
    ab['Guido'] = 'guido@python.org'

    # Deleting a key/value pair
    del ab['Spammer']

    print '\nThere are %d contacts in the address-book\n' % len(ab)
    for name, address in ab.items():
    print 'Contact %s at %s' % (name, address)

    if 'Guido' in ab: # OR ab.has_key('Guido')
    print "\nGuido's address is %s" % ab['Guido']

(源文件:code/using_dict.py

輸出


    $ python using_dict.py
    Swaroop's address is swaroopch@byteofpython.info

    There are 4 contacts in the address-book

    Contact Swaroop at swaroopch@byteofpython.info
    Contact Matsumoto at matz@ruby-lang.org
    Contact Larry at larry@wall.org
    Contact Guido at guido@python.org

    Guido's address is guido@python.org

它如何工作

我們使用已經(jīng)介紹過的標(biāo)記創(chuàng)建了字典 ab。然后我們使用在列表和元組章節(jié)中已經(jīng)討論過的索引操作符來指定鍵,從而使用鍵/值對。我們可以看到字典的語法同樣十分簡單。

我們可以使用索引操作符來尋址一個鍵并為它賦值,這樣就增加了一個新的鍵/值對,就像在上面的例子中我們對 Guido 所做的一樣。

我們可以使用我們的老朋友——del 語句來刪除鍵/值對。我們只需要指明字典和用索引操作符指明要刪除的鍵,然后把它們傳遞給 del 語句就可以了。執(zhí)行這個操作的時候,我們無需知道那個鍵所對應(yīng)的值。

接下來,我們使用字典的 items 方法,來使用字典中的每個鍵/值對。這會返回一個元組的列表,其中每個元組都包含一對項(xiàng)目——鍵與對應(yīng)的值。我們抓取這個對,然后分別賦給 for..in 循環(huán)中的變量 name 和 address 然后在 for -塊中打印這些值。

我們可以使用 in 操作符來檢驗(yàn)一個鍵/值對是否存在,或者使用 dict 類的 has_key 方法。你可以使用 help(dict)來查看 dict 類的完整方法列表。

關(guān)鍵字參數(shù)與字典。如果換一個角度看待你在函數(shù)中使用的關(guān)鍵字參數(shù)的話,你已經(jīng)使用了字典了!只需想一下——你在函數(shù)定義的參數(shù)列表中使用的鍵/值對。當(dāng)你在函數(shù)中使用變量的時候,它只不過是使用一個字典的鍵(這在編譯器設(shè)計的術(shù)語中被稱作 符號表 )。