字典:鍵值對形式的資料型別。鍵必須可雜湊的(經過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.使用...