2011/12/11 mon 13:58
直接建立:
phonebook =
phonebook
out[224]:
phonebook = dict(alice = '1234', bob='2345')
# 注意關鍵字不能是expression,不是『alice』而是alice
phonebook
out[228]:
或者通過鍵值對序列建立:
items = [('alice','1234'), ('bob','2345')]
phonebook = dict(items)
phonebook
out[232]:
dict中的key可以是任意不可變型別。,如果key不存在,自動新增,比如:
phonebook
out[232]
: phonebook['conan'] = '3456'
phonebook
out[235]:
格式化文字:
'conan\'s phonenumber is %(conan)s' % phonebook
out[237]: "conan's phonenumber is 3456"
注意需要在百分號之後指定key,用()括起來,並在後面跟上其他的說明元素,如s。
copy實現淺複製:
phonebook
out[261]:
y = phonebook.copy()
y['bob'] = '8888'
yout[264]:
phonebook
out[265]:
y['conan'].remove('6666')
yout[267]:
phonebook
out[268]:
在淺複製中,替換不影響原來的,但是原位修改是不行滴,因為原始字典中也有同樣的值,也會受影響。
深複製:deepcopy
from copy import deepcopy
dc = deepcopy(phonebook)
dcout[271]:
phonebook
out[272]:
dc['conan'].remove('3456')
dcout[274]:
phonebook
out[275]:
dc['kid'] = '9999'
dcout[277]:
phonebook
out[278]:
從key的序列中建構dict:fromkeys
dict.fromkeys(['alpha','beta', 'gamma'])
out[279]:
訪問字典項:get,對於沒有的項不會報錯,會返回none或者自定義的default。而直接用key取就會報錯:
greek
out[288]:
greek.get('alpha')
out[289]: 'a'
greek.get('delta')
greek.get('delta','n/a')
out[291]: 'n/a'
greek.get('beta','n/a')
out[292]: 'b'
greek['gamma']
out[293]: 'c'
greek['delta']
traceback (most recent call last):
file "", line
1, in
greek['delta']
keyerror: 'delta'
檢索鍵值存在:has_key
greek.has_key('alpha')
out[295]: true
greek.has_key('eta')
out[296]: false
返回(鍵,值)對:items
greek.items()
out[297]: [('alpha', 'a'), ('beta', 'b'), ('gamma', 'c')]
返回鍵:keys
greek.keys()
out[298]: ['alpha', 'beta', 'gamma']
返回值:values
greek
out[313]:
greek.values()
out[314]: ['b', 'e', 'a', 'c']
設定default:setdefault
greek.setdefault('alpha','nil')
out[299]: 'a'
greek.setdefault('zeta','nil')
out[300]: 'nil'
greek
out[301]:
可以看出,如果已經有了該key,返回其value,否則加入並設定default。
用x字典更新y字典:y.update(x)
如果y中沒有x中的某項,即沒有該key,則新增上,如果有,則用x中該key對應的value更新。
newgreek = dict(alpha='a',eta='e')
newgreek
out[310]:
greek
out[311]:
greek.update(newgreek)
greek
out[313]:
the end
星期一, 11. 十二月 2017 03:12下午
python 從入門到放棄
本人所有關於python的內容均為學習期間的整理的筆記,希望可以給學習者帶來些許幫助!不過一入it深似海!準備入行者請做好充分的心理準備!計算機的知識跟新迭代速度很快,不學習就會被淘汰!如果你打算入行然後找乙份安穩的工作安度餘生,那麼我還是建議去考公務員吧!這個行業可能並不適合你!有不少的人可能都覺...
swoole 從入門到放棄(三)
bool swoole process exec string execfile,array args function swoole process start int 執行fork系統呼叫,啟動程序 array swoole process wait bool blocking true 結束執...
MySQL從入門到放棄(三)
接著上次的繼續學習哈,我們還是按照之前的步驟開啟mysql,選擇資料庫,繼續操作我們的emp表 delete顧名思義,就是刪除的意思,所以delete就是刪除語句,使用delete語句刪除表中的資料,具體的操作 delete from 表名 where 行 如果不用where語句,則把整個表都刪了,...