為了從最直觀的角度來理解dict的定義,先給出dict的格式。
格式:dict =
正如上述格式所傳遞的那樣,dict就是用一對大括號括起來的樣子。其中key表示關鍵字,value表示對應的值。dict有個最大的優點就是查詢速度特別快,這個優點與它的格式密切相關,其中key指向value值。可以用下圖來更好的理解dict,也就是字典。
如圖所示,dict通過關鍵字來查詢其對應儲存的value值。有點像c++中的指標一樣。
dict的建立可以分為手動輸入建立和從檔案中讀取元素來建立,大多數時候都是通過從檔案中讀取來建立。這裡簡單介紹手動輸入來建立dict,檔案讀取建立dict在下文中再介紹。還是舉例子。
(1)通過定義來建立
>>>d =
>>>d
>>>
(2)另一種方法
>>>d = {}
>>>d['a']='alpha'
>>>d['o']='omaga'
>>>d['g']='gamma'
>>>d
>>>
dict元素的訪問方法很多,下面介紹幾種常用的方法。
(1)通過key
來訪問對應的value
值
>>>d =
>>>d
>>>
>>>d['a']
>>>'alpha'
(2)通過get()函式來訪問
>>>d =
>>>d
>>>
>>>d.get('a')
>>>'alpha'
>>>d.get('x')
>>>
在訪問dict的value
值時,若dict中不存在欲訪問的key
值時返回none
,也就是空。另外,若想判斷某個key
是否屬於dict中時,可以使用value in dict
的格式。比如:
>>>d =
>>>d
>>>
>>>'a'
in d
>>>true
>>>'x'
in d
>>>flase
(1)keys()
功能:返回dict中所有關鍵字key
的list列表。比如:
>>>d =
>>>d
>>>
>>>d.keys()
>>>['a','o','g']
(2)values()
功能:返回dict中所有關鍵字value
的list列表。比如:
>>>d =
>>>d
>>>
>>>d.values()
>>>['alpha','omaga','gamma']
(3)items()
功能:返回dict中所有key
和values
的值,結果以tuple的形式返回。舉個例子:
>>>d =
>>>d
>>>
>>>d.items()
>>>[('a','alpha'),('o','omaga'),('g','gamma')]
與list和string類似,dict元素的迴圈訪問也是使用for var in dict:
來實現的。比如:
>>>d =
>>>d
>>>
>>>for s in d.keys():print s,'->',d[s]
>>>
'a'->'alpha'
'o'->'omaga'
'g'->'gamma'
>>>for tuple in sorted(d.items())[:2]:print tuple
>>>
('a','alpha')
('g','gamma')
注:由於d.items()
返回的是由tuple組成的dict,sorted()預設引數下會自動按照tuple中第0個元素進行公升序排序。而sorted()的返回值是乙個排序後的dict,加上[:2]是在sorted()返回值的基礎上擷取前兩個元素。
file檔案的讀取有許多方式,本文主要介紹幾種比較常用的方法。
(1)逐行讀取進行處理
def
readfile
(filename):
f = open(filename,'r')
for line in f:
print line
其中,open函式的第乙個引數是檔名(含字尾),第二個引數是開啟的方式,例如,開啟讀(『r』)、開啟進行寫(『w』)等。
(2)一次性讀取所有行並存在乙個list中
def
readfile
(filename):
f = open(filename,'r')
lines = f.readlines()
print lines
(3)一次性讀取所有內容並存在乙個字串string中
def
readfile
(filename):
f = open(filename,'r')
text = f.read()
print text
在這三種方法中,第三種方法比較耗費記憶體,除非任務要求一次性讀取,否則,建議多用第一種方法。
谷歌python作業
儘管走下去,不必逗留著。
1.2.
python學習筆記(二)
集合 set是可變的集合,frozenset是不可變的集合 1.構造集合 s set abcde s set a b c s set abc def ghi s frozenset abcde 2.集合操作 1.新增元素 s.add b 2.刪除元素 s.remove obj 當該元素不存在時丟擲異...
Python學習筆記(二)
換了本書,開始看 python核心程式設計 從第三章開始看。只記一些與c c 不同的地方,一些相同之處略去不提。3.1語句與語法 1 跨行一般用反斜槓 有兩個例外,乙個是在括號裡,二是三引號中 print what the hell you waiting for?2推薦用四個空格寬度代替製表符縮排...
python學習筆記(二)
python數值處理 在互動模式下,把python當作計算器用不錯。1 整數做除法運算,除不盡時,取較小的那個數。如 7 3 2 7 3 3 不是 2哦 2 等號 用於給變數賦值,雙等號 用於數值比較。如 width 20 height 5 9 width height 900 if x 0 pri...