Python 3語法小記(四)字典 dictionary
字典是Python裡面一種無序儲存結構,儲存的是鍵值對 key - value。關鍵字應該為不可變型別,如字串、整數、包含不可變物件的元組。
字典的建立很簡單,用 d = {key1 : value2, key2 : value2}的形式就可以建立一個新的字典,當然也可以通過 dict 接受一個含有鍵,值的序列對或者關鍵字引數來建立字典。
鍵可以是多種型別,但鍵是唯一的不重複的,值可以不唯一
還有一個建立字典的方法就是 fromkeys(S [ , v]) python裡的解釋是 New dict with key from S and value equal to v ,即將S裡的元素作為鍵,v作為所有鍵的值,v 的預設值為 None。可以通過已存在的字典 d 呼叫 d.fromkeys(S [, v] ) 也可以通過型別呼叫 dict.fromkeys( S [, v] )>>> d = {'a':1, 'b':2} >>> d {'b': 2, 'a': 1} >>> L = [('Jonh',18), ('Nancy',19)] >>> d = dict(L) #通過包含鍵值的列表建立 >>> d {'Jonh': 18, 'Nancy': 19} >>> T = tuple(L) >>> T (('Jonh', 18), ('Nancy', 19)) >>> d = dict(T) #通過包含鍵值的元組建立 >>> d {'Jonh': 18, 'Nancy': 19} >>> d = dict(x = 1, y = 3) #通過關鍵字引數建立 >>> d {'x': 1, 'y': 3} >>> d[3] = 'z' >>> d {3: 'z', 'x': 1, 'y': 3}
>>> d {3: 'z', 'y': 3} >>> L1 = [1,2,3] >>> d.fromkeys(L1) {1: None, 2: None, 3: None} >>> {}.fromkeys(L1,'nothing') {1: 'nothing', 2: 'nothing', 3: 'nothing'} >>> dict.fromkeys(L1,'over') {1: 'over', 2: 'over', 3: 'over'}
字典是無序的,所以不能通過索引來獲取值,要通過鍵來找到關聯值。對於不存在的鍵,會出現錯誤KeyError
>>> d
{3: 'z', 'x': 1, 'y': 3}
>>> d[3]
'z'
>>> d['x']
1
>>> d[0]
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
d[0]
KeyError: 0
字典操作和方法:
len( d ) 返回字典d裡面的鍵值對數目
x in d 查詢字典d中是否有鍵 x
>>> d = {'x':1,'y':3}
>>> len(d)
2
>>> 'x' in d
True
>>> 'z' not in d
True
d [ x ] = y 若鍵 x 存在,則修改 x 對應的值為 y, 若鍵 x 不存在,則在字典 d 中增加鍵值對 x : y
>>> d
{'x': 1, 'y': 3}
>>> d['x'] = 1.5
>>> d
{'x': 1.5, 'y': 3}
>>> d['z'] = 5
>>> d
{'z': 5, 'x': 1.5, 'y': 3}
del d[x] 刪除字典 d 中鍵為 x 的鍵值對,若 x 不存在會出現 KeyError
>>> d = {'z': 5, 'x': 1.5, 'y': 3}
>>> del d['x']
>>> d
{'z': 5, 'y': 3}
>>> del d['x']
Traceback (most recent call last):
File "<pyshell#66>", line 1, in <module>
del d['x']
KeyError: 'x'
d.clear() 清空字典d
d.copy() 對字典 d 進行淺複製,返回一個和d有相同鍵值對的新字典
>>> d
{'z': 5, 'y': 3}
>>> d.copy()
{'z': 5, 'y': 3}
d.get( x [ , y]) 返回字典 d 中鍵 x 對應的值,鍵 x 不存在的時候返回 y, y 的預設值為None
>>> d = {'z': 5, 'x': 1.5, 'y': 3}
>>> d.get('x')
1.5
>>> del d['x']
>>> d.get('x')
>>> d.get('x','nothing')
'nothing'
d.items() 將字典 d 中所有鍵值對以dict_items的形式返回(Python 2中d.iteritems() 返回一個針對鍵值對的迭代器物件,Python 3中沒有 iteritems 方法了)
>>> d = {'z': 5, 'x': 1.5, 'y': 3}
>>> d.items()
dict_items([('z', 5), ('x', 1.5), ('y', 3)])
>>> list(d.items())
[('z', 5), ('x', 1.5), ('y', 3)]
d.keys() 將字典 d 中所有的鍵以dict_keys形式返回(Python 2 中d.iterkeys() 返回一個針對鍵的迭代器物件,Python 3 沒有此語法)
>>> d.keys()
dict_keys(['z', 'x', 'y'])
>>> for x in d.keys():
print(x)
z
x
y
d.pop( x ) 返回給定鍵 x 對應的值,並將該鍵值對從字典中刪除
>>> d = {'z': 5, 'x': 1.5, 'y': 3}
>>> d.pop('x')
1.5
>>> d.pop('x')
Traceback (most recent call last):
File "<pyshell#92>", line 1, in <module>
d.pop('x')
KeyError: 'x'
d.popitem( ) 返回並刪除字典 d 中隨機的鍵值對
>>> d = {'z': 5, 'x': 1.5, 'y': 3}
>>> d.popitem()
('z', 5)
>>> d.popitem()
('x', 1.5)
d.setdefault( x, [ , y ] ) 返回字典 d 中鍵 x 對應的值,若鍵 x 不存在,則返回 y, 並將 x : y 作為鍵值對新增到字典中,y 的預設值為 None
>>> d = {'z': 5, 'x': 1.5, 'y': 3}
>>> d.setdefault('x')
1.5
>>> del d['x']
>>> d.setdefault('x','Look!')
'Look!'
>>> d
{'z': 5, 'x': 'Look!', 'y': 3}
d.update( x ) 將字典 x 所有鍵值對新增到字典 d 中(不重複,重複的鍵值對用字典 x 中的鍵值對替代字典 d 中)
>>> d1 = {'x':1, 'y':3}
>>> d2 = {'x':2, 'z':1.4}
>>> d1.update(d2)
>>> d1
{'z': 1.4, 'x': 2, 'y': 3}
d.values( ) 將字典裡所有的值以dict_values 的形式返回(Python 2 中d.itervalues() 返回針對字典d裡所有值的迭代器物件,Python 3無此語法)
>>> d1
{'z': 1.4, 'x': 2, 'y': 3}
>>> d1.values()
dict_values([1.4, 2, 3])
>>> list(d1.values())
[1.4, 2, 3]
相關推薦
Python 3語法小記(四)字典 dictionary
字典是Python裡面一種無序儲存結構,儲存的是鍵值對 key - value。關鍵字應該為不可變型別,如字串、整數、包含不可變物件的元組。 字典的建立很簡單,用 d = {key1 : value2, key2 : value2}的形式就可以建立一個新的字典,當然也可以通
python基礎語法總結(五)-- 字典dic + 元組tuple
目錄 一. 字典 1. 讀取 2. 新增 3. 修改 4. 刪除 5. 清空 6. 複製文字 7 遍歷 a. 遍歷鍵值對 b. 遍歷鍵 c. 遍歷值 二. 元組 一. 字典 字典型別類似於鍵值對key-value的一種資料結構,其中鍵不能重
python基礎語法總結(四)-- list列表
python常用系統函式方法與模組 python基礎語法總結(一)-- python型別轉換函式+檔案讀寫 python基礎語法總結(二)-- 函式function python基礎語法總結(三)-- 數與字串 python基礎語法總結(四)-- list列表
python3 語法小記(四) sys.stdout、sys.stdin
如果需要更好的控制輸出,而print不能滿足需求, 可以使用sys.stdout、sys.stdin 1.sys.stdout 在python中呼叫print時,事實上呼叫了sys.stdout.write(obj+'\n') print將需要得內容列印到控制檯上,然後追加一個換行符。
java基礎學python(四)----------字典,集合
字典 類似於java中的hashmap 建立字典 使用{}建立字典 使用:指明鍵:值對 my_dict = {'John': 86411234, 'Bob': 86419453,'Mike': 86412387} 鍵必須是不可變的且不重複,值可以是
python 基礎篇(四)字典常用操作方法
# 字典類似Map一樣的{key,value}結構; # 字典建立 userMap ={"name":"王力巨集","age":"18","love":"dog"} ; print(userMap) # 字典取值,根據key進行取值 get(key) name = userMap.get("na
Python 接口測試(四)
數列 格式 dumps code 輸出 pre weather 標準 lang 五:python數列化和反序列化 把python的對象編碼轉換為json格式的字符串,反序列化可以理解為:把json格式 字符串解碼為python數據對象。在python的標準庫中,專門提供了j
python學習之路(四)
[1] size class dex epc uri msu 語句 這就是 繼續昨天的學習,學到了數組。 首先有兩個數組,name1和name2.我們可以將兩個數組合並 name1=[1,2,3,4] name2=[5,6,7,8] names=name1.extend(
python機器學習實戰(四)
畫畫 import 測試數據 trac 1+n read dex 缺失值 類型 python機器學習實戰(四) 版權聲明:本文為博主原創文章,轉載請指明轉載地址
Python爬蟲實例(四)網站模擬登陸
opener 運行 webkit zh-cn head window targe Coding 破解 一、獲取一個有登錄信息的Cookie模擬登陸 下面以人人網為例,首先使用自己的賬號和密碼在瀏覽器登錄,然後通過抓包拿到cookie,再將cookie放到請求之中發送請求即可
Python數據結構(一) 字典
字典0x 01 字典簡介 子典和列表是python中最常用的兩種數據類型,字典是鍵值對(key-value)格式的數據類型,它和列表一樣也有索引,但不是列表中的下標,而是使用key來作為索引,key所對應的值就是value,所以字典是無序的,因此任何時候只要訪問字典的key,便可以得到對應的value,
Python學習記錄——Ubuntu(四)計劃任務、grep、正則表達式
family count style 小時 ash 所有 當前 出現 spa 一.crontab用於計劃任務: 1.參數 (1)-u user:用來設定某個用戶的crontab服務 (2)-e:編輯某個用戶的crontab文件內容。如果不指定用戶,則表示編輯當前用戶的cro
《可愛的Python》讀書筆記(四)
grep 遞歸調用 不斷否定自己,但要堅持最初的意願。小白已經實現了"將光盤內容索引存儲為硬盤上的*.cdc文本文件",並獲得了命令行工具樣的程序,可以通過命令行調用python pycdc.pyw -e test.txt快速指定文件名。類似grep一樣,現在要實現搜索的功能,打開
Python學習之路 (四)爬蟲(三)HTTP和HTTPS
CP 發出 net 長度 現在 消息頭 理論 LV 模型 HTTP和HTTPS HTTP協議(HyperText Transfer Protocol,超文本傳輸協議):是一種發布和接收 HTML頁面的方法。 HTTPS(Hypertext Transfer Protoc
課後筆記一:Python基礎語法介紹(1)
Python3.6.5我們總是找借口說還有時間去做某事,或者完成某事,結果總是不了了之。比如拖到現在才寫第一課聽課筆記。 第一節課,老師對以下內容做了分享,大致分為 環境配置 開發平臺:Mac OS Version 10.13.2 老師講課的是在Windows 10 我選擇在Mac OS進行Pyth
python---基礎知識回顧(四)(模塊sys,os,random,hashlib,re,json,xml,shutil,configparser,logging,datetime,time,集合,堆,雙端隊列,其他)
ID 正常 空值 字符 預測 platform OS normal 生成 前提:dir,__all__,help,__doc__,__file__ dir:可以用來查看模塊中的所有特性(函數,類,變量等) >>> import copy >>
python基礎:集合(set)字典(direction)介紹
三、字典(dict) 1.字典的建立賦值建立字典In [2]: d = {1,True,"hello"} In [3]: type(d)Out[3]: set #字典由key和value構成,一個key對應一個value,key-value , 鍵值對In [4]: d = {1:"freya",2:"
python入門學習筆記(四)——if語句
5. if語句 5.1 簡單if語句 sum = 20; if sum < 19: print('OK') 5.2 if-else
【pykafka】爬蟲篇:python使用python連線kafka介紹(四)
本人菜雞,最近還更新python的爬蟲系列,有什麼錯誤,還望大家批評指出! 該系列暫時總共有4篇文章,連線如下: 【python】爬蟲篇:python連線postgresql(一):https://blog.csdn.net/lsr40/article/details/83311860
python面向物件學習(四)繼承
目錄 1. 單繼承 1.1 繼承的概念、語法和特點 1.2 方法的重寫 1.3 父類的 私有屬性 和 私有方法 2. 多繼承 2.1 多繼承的使用注意事項 2.2 新式類與舊式(經典)類 1. 單繼承 1.1 繼承的概念、