Python数据类型中的字典-创建和基本操作
Python當中字典的創建和基本操作
?
?
本章 含有 字典定義 及操作
l??字典定義
l??基本操作
l??常用方法
列表也是常用的數據類型-列表是最靈活的一個,甚至可以當成一個小的數據庫,用來存儲數據。
用列表存儲數據的時候會非常的不方便,所謂的不方便,下面會有例子演示當中,比較一下。
字典是另一種可變容器模型,且可存儲任意類型對象。
字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中?
格式如下 dict = {’key’:’value’, ’key’:’value’}
?
字典相關 定義
l??字典(dictionary)是除列表以外python之中 最靈活的內置數據結構類型。
l??區別:
字典當中的元素是通過鍵來存取,而不是通過偏移存取。
?
字典的特性
字典值可以沒有限制地取任何python對象,既可以是標準的對象,也可以是用戶定義的,但鍵不行。
兩個重要的點需要記住:
?
?
字典可以說 是在python當中,除了列表以為 最靈活的內置數據類型了。
唯一的區別,就是我們在字典當中取值的時候,并不是像序列那樣 通過索引取值。字典雖然有很多值,但是我們并不把字典稱之為序列。因為在python2當中,ptthon3.幾之前 字典都是無序的,只不過在最新的python當中 看起來有序,但是不能通過偏移去存取。
看一下它的區別-什么叫做通過鍵來取值,這就要說到列表和字典他們兩個的區別了。
可以在回顧一下列表。
?
回顧列表案例
操作,程序是沒有問題的,關鍵問題在于它并不能直觀的反應,內容是什么
比如player1 、0號元素和1號元素,不方便知道 0 號代表的就是 字符串 milo,1號元素代表 整數 100。
看上面的數據結構
我們在定義的時候,不把它們定義到一起,在程序當中調用數據的時候,就會顯示的不太直觀。
也就是 這個值 它沒有一個直觀的名字。它只是聲明的一個數字 用來做索引。
?這種情況下 用字典就非常方便了。下面來看下字典創建和使用
?
字典創建
字典的定義方式。
創建字典就是花括號{ key 和 value}? key我們叫做鍵 value叫做值,兩個就是鍵值,
都是一對 一對 成對出現的。可以給值取個名字。比如 叫做 user 或者 HP 這樣名字
然后通過這個名字 去取這個值。
?
創建字典案例
現在我們得到一個列表。注意看我們現在得到一個列表,它是無序的,和列表是有區別的,這個不重要,因為我們取值都是不是通過索引。我們是通過名字,也就 說到的 kev 簡寫 K
?
字典取值寫法 案例
設計已經比較人性化了,我們要取里面的值,不需要記住索引,什么 0 位 啊 ?1 位的什么 ,我們只要記住 kev 名字是什么 就可以取值? 。明顯我們可以看出 這是一個非常標簽化 人性化的一個索引。
好處?:?通過 名字 就知道 大概要獲取到什么樣的數據,方便的通過它的名字 獲取到什么樣的值,我們叫做 kev 和 value ,稱之為 鍵值對。 kev 可以是 任何類型 比如 數字 字符串 甚至可以是任何一個對象,前面是一個索引 后面 是對應的對象。
看上去好像跟 列表一樣, 實際上是有著 本質上的區別的。
是因為 1 這個 kev 值 對于的是a,所以 獲取到才是 a
?
?
字典屬性
l??通過鍵 而不是偏移量來讀取
l??任意對象的引用的集合(聯想列表存儲結構圖)
l??可變,異構,任意嵌套
l??屬于可變映射類型
l??對象引用表(哈希表-支持快捷檢索的數據結構)
?
字典訪問
l??通過Key訪問Value
l??單個訪問
? dict[’key’]
l??遍歷
For key in dict
…print ’key’= %s,value =%s’%’(key,dict[key])
l??方法
? ’key’in dict?或dict.has_key(’key’)
?
字典增加一個值例子
字典里面 添加的數據不是按照我們添加的結構排列的。
是python3默認的排序,是按照順序排列的,順序目前對于一般的來說 影響不是特別大,因為我們是通過索引,kev 來取它的值
?
字典遍歷例子
字典 既然 不是 一個 序列 ,那么 取值的 是通過key取值的
k會自動 迭代 字典當中的 k
d?字典 里面 迭代 k 索引1值
?
字典方法
查看某個kev 在不在 字典里面,沒有返回False ,有 返回True
?
還可以用 help(dict)查看字典 相關幫助
?
help看的時候 比較 詳細,比較多 ,查看方法的 可以用 dir(dict)
?
?
字典更新
l??采取覆蓋更新
1.??Dict[’key’]=’earth’
2.??更新dict[’key’] = ’qwer’
指定某一個kev 進行替換。讓它 等于一個值 ,如果沒有 就增加,如果有的話,就會進行更新。
?
?
刪除字典和字典元素
l??Del dict1[’name’]#?刪除鍵為’name’條目
l??Dict1.clear()#?刪除dict中所有的條目
l??Del dict1#??刪除整個dict1字典
l??Dict1.pop(’name’)#?刪除并返回鍵為’name’的條目
?
字典并沒有那么復雜,它和列表 類似,區別就是 它并不是像列表當中 是有序的,在字典當中是通過key 取值,不是像列表當中 通過偏移量來取的。
?
a)??刪除條目
2.??刪除所有條目
3.??刪除整個字典
4.??刪除并返回鍵為’定義’的條目
?
?
?
字典技巧
?
Python字典包含了以下內置方法
?
?
| 1 | Dict.clear() |
| 2 | dict.copy() |
| 3 | dict.fromkeys(seq[, val]) |
| 4 | dict.get(key, ? default=None) |
| 5 | dict.has_key(key) |
| 6 | dict.items()??? |
| 7 | dict.keys() |
| 8 | dict.setdefault(key, default=None) |
| 9 | dict.update(dict2) |
| 10 | dict.values() |
| 11 | pop(key[,default]) |
| 12 | popitem() |
?
本章 獲得知識點
了解 python 中, 字典創建。
字典的基本操作, 字典遍歷 刪除字典 更新字典等。
????2017年12月23日王宇林
?
本文轉自?
新網學會?51CTO博客,原文鏈接:http://blog.51cto.com/xwxhvip/2053761?,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的Python数据类型中的字典-创建和基本操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Centos 7 修改内核启动顺序
- 下一篇: keepalived VRRP同步组配置