python學習筆記二

2021-08-17 17:56:51 字數 3138 閱讀 6351

為了從最直觀的角度來理解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中所有keyvalues的值,結果以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...