第四章 字典:當索引不好時
字典的使用,示例**如下:
#建立字典
>>> names=['alice','beth','cecli','dee-dee','earl']
>>>numbers=['2341','9102','3158','0142','5551']
>>>numbers[names.index('cecli')]
'3158'
建立和使用字典
#建立字典
>>>names=['alice':』2341』,'beth':』9102』]
dict函式,示例**
>>>times=[('name','retacn'),('age',32)]
>>> times
[('name','retacn'), ('age', 32)]
>>>d=dict(times)
>>> d
>>>d['name']
'retacn'
也可以通過關鍵字來建立字典
>>>d=dict(name='gumby',age=42)
>>> d
字典的基本操作
len(key)
d[index] 指定位置的值
d[index]=value 重新賦值
del d[index] 刪除指定項
key in d 檢查是否包含key項
注:鍵可以是任何不可變型別
#使用空列表不可以賦值
>>>x=
>>>x[42]='retacn'
traceback (mostrecent call last):
file "", line 1,in
x[42]='retacn'
indexerror: listassignment index out of range
#如果想對列表賦值,需要對列表進行初始化
>>>x=[none]*43
>>>x[42]='retacn'
>>>x[42]
'retacn'
#字典可以直接賦值
>>>x={}
>>>x[42]='yue'
>>>x[42]
'yue'
字典實現簡單資料庫,示例**如下:
people=
>>>"retacn'sphone number is %(retacn)s." %phonebook
"retacn'sphone number is 123456."
字典的方法
clear清除字典中的所有項,示例**:
>>>d={}
>>>d['name']='retacn'
>>>d['age']=32
>>> d
>>>returned_value=d.clear()
>>> d
>>>print (returned_value)
none
注:如果被清空字典與其他字典關聯,在清空後,關聯字典也會被清空
複製和深度複製
>>>x=
>>>y=x.copy()
>>> x
>>> y
>>>y['username']='yue'
#remove是乙個原位置修改方法
>>>y['interest'].remove('football')
>>> x
>>> y
注,在指定鍵重新賦值 的時候字典不受影響,但是在修改後,原始字典也會改變
>>>from copy import deepcopy
>>>d={}
>>>d['names']=['retacn','yue']
>>>c=d.copy()
>>>dc=deepcopy(d)
>>> d
>>> c
>>> dc
fromkeys使用給定的鍵建立新字典
>>>{}.fromkeys(['name','age'])
>>>dict.fromkeys(['name','age'])
#設定預設值
>>>dict.fromkeys(['name','age'],'(unknow)')
get訪問字典項的方法
>>>d={}
>>>print(d['name'])
traceback (mostrecent call last):
file "", line 1,in
print(d['name'])
keyerror: 'name'
>>>print (d.get('name'))
none
>>>d.get('name','n/a')
'n/a'
>>>d['name']='retacn'
>>>d.get('name')
'retacn'
has_key檢查字典中是否有給出的鍵,python3.0中沒有此函式
>>>d={}
>>>d.has_key('name')
traceback (mostrecent call last):
file "", line 1,in
d.has_key('name')
attributeerror:'dict' object has no attribute 'has_key'
items和iteritems字典項以列表形式返回
keys和iterkeys字典中鍵以列表形式返回
pop 取得對應鍵值,該項從字典中移除
popitem 彈出隨機的項
setdefault 取得給定鍵所對應的值,
update利用乙個字典項更新另乙個字典
values 和 itervalues以列表形式返回字典中的值
Python基礎教程學習筆記
第一章 快速改造 基礎知識 函式描述 abs number 返回數字的絕對值 cmath.sqtr number 返回平方根,也可以應用於負數 float object 將字串和數字裝換為浮點數 help 提供互動式幫助 input prompt 獲取使用者輸入 int object 將字串和數字轉...
NLTK基礎教程學習筆記(四)
標識化處理 機器所要理解的最小處理單位是單詞 分詞 標識化處理,是將原生字元創分割成一系列有意義的分詞。標識化就是將原生字串分割成一系列有意義的分詞。標識化處理的複雜性因具體nlp應用而異,目標語言本身的複雜性本身也會帶來相關的變化。在英語中,可以通過正規表示式簡單的單詞來選取純單詞和數字,但在中文...
python基礎教程學習筆記一
第一章 基礎知識 1.1 直譯器的安裝 一路下一步,完成安裝 修改path,新增安裝路徑 命令列執行顯示如下結果 1.2 互動式直譯器 示例 helloworld.py print hello world 中國 執行示例程式 python helloworld.py 1.3 演算法 1.4 數字和表...