python 學習(字典,檔案,pickle)

2021-09-28 19:13:43 字數 2965 閱讀 3489

字典:鍵值對形式的資料型別。鍵必須可雜湊的(經過hash 函式值不變),值可以為任意型別。

# 字典的建立

d =# 字典的獲取

d['a'

]# 不存在的鍵會報異常

d.get(

'a')

# 不存在的鍵不會報異常

d.get(

'a',0)

# 找不到返回預設的值 這裡是0

# 將鍵'a'鍵值彈出

d.pop(

'a')

# 更新鍵為'a'的值

d.update(

'a',2)

d['a']=

2# 獲取所有的鍵

d.keys(

)# 獲取所有的值

d.values(

)# items()方法 d.items是 乙個list, 每個子元素有鍵和值

for k, v in d.items():

print

('{}=>{}'

.format

(k,v)

)# 返回 a=>1 b=>2 c=>3

# collections 中有與c++的struct使用方法相似的型別

# 使用方法

from collections import namedtuple

# 宣告

emp = nametuple(

'emper',[

'name'

,'age'

,'department'

,'salary'])

# 建立

jerry = emp(

'jerry'

, age=

30,department=

'財務部'

,salary=

900)

# 使用

jerry.name # 就是 'jerry'

# collections 還有defaultdict 預設引數型別的字典,可以避免引數

from collections import defaultdict

mydict = defaultdict(

int)

# 未使用的key預設值為0

mydict = defaultdict(

list

)# 未使用的key預設值為

# 基本模式 

file

=open

(filename, mode)

# mode可以是r唯讀, w寫(先清再寫如), a寫(接檔案的末尾寫入), b 二進位制(rb,rw)

# 例項

l =open

('hello.txt'

).readlines(

)l.read(

)# 讀取所有

l.readline(

)# 讀取一行

l.readlines(

)# 讀取所有

l.close(

)# 關閉檔案流

# 特別大檔案 可以按行讀 按位元組讀 按塊讀

# 按行讀取

f =open

('hello.txt'

).readlines(

)while

true

: line = f.readline()if

not line:

break

# 按位元組讀取

while

true

:# 每次讀取乙個字元

ch = f.read(1)

# 如果沒有讀到資料,跳出迴圈

ifnot ch:

break

# 輸出ch

print

(ch, end='')

# 按塊讀取

# 1024*1024 1m

defread_in_chunks

(filepath, chunk_size=

1024

*1024):

file_object =

open

(filepath)

while

true

: chunk_data = file_object.read(chunk_size)

ifnot chunk_data:

break

yield chunk_data

# 注yield 類似return 但不終止函式

# 使用with更簡單的方法

with

open

(filename)

as f:

# for line in f檔案物件f視為乙個迭代器,會自動的採用緩衝io和記憶體管理,所以不必擔心大檔案。

for line in f:

print

(line)

# 寫入

# 整個字串寫入

file

.write(

str)

# 每次取乙個元素寫入,不自帶換行符 須 + '/n'

file

.writelines(sequence)

# 可以將python變數,以二進位制形式儲存 p.s python 萬物皆物件所以可以存一切python變數

f =open

('test.pkl'

,'wb'

)# 將d變數存 到f中

pickle.dump(d,f)

# 讀取變數

pickle.load(f)

f.close(

)

數字int boolean float

可呼叫函式function 生成器generate 類class 方法

其他檔案 none 檢視

內部type

python學習 字典

字典的形式 形式 dict key 鍵 可以理解為代號 value 值 代號所指代的內容 字典的特點 1 字典是 無序 的,它不能通過偏移來訪問,只能 通過鍵來訪問 2 可以巢狀 3 可變資料型別,可以在原地修改裡面的內容。4 組成字典的 鍵 必須是 不可變 的資料型別,比如,數字,字串,元組等 列...

python學習 字典

這幾天都比較忙,在搞android開發,接著就天天碼 自然就是很晚。抽點時間現在來看一下python方面的基礎,字典。字典 字典是一種可變容器模型,可以為任意型別。字典中由鍵和值組成,中間冒號隔開。使用冒號隔開,這樣就可以一一的建立好乙個物件,物件之間使用逗號隔開。使用arcmap來建立乙個物件。建...

Python學習 字典

python學習 字典 1.字典是一系列鍵 值對。每個鍵都與乙個值相關聯,可以通過鍵來訪問相應的值。與鍵相關聯的值可以是數字 字串 列表 字典或者任何的python物件。2.python不關心字典中鍵 值對的儲存順序,只關心鍵和值之間的關聯關係。也就是不能像列表中一樣通過角標來訪問鍵 值對。3.使用...