1. 程式人生 > >python 之 字典、有序字典

python 之 字典、有序字典

python 字典是一種可變容器模型,且可儲存任意型別物件,如字串、數字、元組等其他容器模型。

字典由鍵和對應值成對組成。字典也被稱作關聯陣列或雜湊表。

* 有序字典(OrderedDict):

>>> from collections import OrderedDict
>>> a=OrderedDict({})
>>> a
OrderedDict()
>>> a['a'] =1
>>> a['b'] =2
>>> a['c']=3
>>> a
OrderedDict([('a', 1), ('b', 2), ('c', 3)])
>>> for k, v in a.items():
...     print k, v
...
a 1
b 2
c 3
>>> b = {}
>>> b['a']=1
>>> b['b']=2
>>> b['c']=3
>>> b
{'a': 1, 'c': 3, 'b': 2}
>>> for k, v in b.items():
...     print k,v
...
a 1
c 3
b 2
a 是一個OrderedDict,有序字典,它會按照新增的順序顯示字典。而b 是普通字典,是無序的。

例: dict = {'Alice':'123','Beth':'23','Cecil':'234'}

注意:每個鍵與值用冒號隔開(:),每對用逗號分割,整體放在花括號({})。鍵必須獨一無二

a. 訪問字典裡的值:(把相應的鍵放入熟悉的放括弧)

#dict['Alice'] = '123'

 如果用字典沒有的鍵訪問,會輸出錯誤:KeyError。

b. 修改字典:(向字典新增新內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值)

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry

c. 刪除字典元素:(能刪單一的元素也能清空字典,顯示刪除一個字典用del命令)

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
del dict['Name']; # 刪除鍵是'Name'的條目
dict.clear();     # 清空詞典所有條目
del dict ;        # 刪除詞典

d. 字典鍵的特性:
 1. 不允許同一個鍵出現兩次;

 2. 鍵必須不可變,所以可以用數,字串或元組充當,不能用列表。

e. 字典內建函式&方法:

 1. cmp(dict1,dict2) : 比較兩個字典元素;

 2. len(dict) : 計算字典元素個數,即鍵的總數;

3. str(dict) : 輸出字典可列印的字串表示。

dict.clear() : 刪除字典所有元素

dict.copy() : 返回一個字典的淺複製

dict.fromkeys() : 建立一個新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應的初始值

dict.get(key,default=None) : 返回指定鍵的值,如果值不在字典中返回default值

dict.has_key(key) : 如果鍵在字典dict裡返回true,否則返回false

dict.items() : 以列表返回可遍歷的(鍵,值)元組陣列

dict.keys() : 以列表返回一個字典所有的鍵

dict.setdefault(key,default=None) : 和get()類似,如果鍵不存在於字典中,將會新增鍵並將值設為default

dict.update(dict2) : 把字典dict2的鍵/值對更新到dict裡

dict.values() : 以列表返回字典中的所有值

相關推薦

python 字典有序字典

python 字典是一種可變容器模型,且可儲存任意型別物件,如字串、數字、元組等其他容器模型。 字典由鍵和對應值成對組成。字典也被稱作關聯陣列或雜湊表。 * 有序字典(OrderedDict): >>> from collections import Or

python列表/元組/字典/字符串

blue spa climb del 直接 else copy keys lse 一、列表 格式:list = [‘xxx‘,‘xxx‘,‘xxx‘] 性質:可以修改列表內容 copy用法: import copy names = [‘Yangdanhua‘,[‘01‘,

python字串,列表,集合,字典方法

字典內建函式&方法 函式: 1.len(dict1):列印字典的鍵的個數 方法:dict1.( ) 2.clear():清空字典 3.copy():複製字典 4.fromkeys():使用指定的序列作為鍵建立字典   list1,list2 =["d","e","f"],[1,2,3,4

python列表 元組 字典 字串

列表 列表是一種有序可重複的序列,可以隨意的增/刪/改/查,每個元素的位置都分配了一個數字索引,從0 開始,依次遞增。 ××通過位置索引操作list×× list1 = ['Google', 'Runoob', 1997, 2000] list2 =

pythoninput()whiletitle()和upper()

問卷調查 blog 小應用 inpu python 應用 reading pytho highlight 代碼舉例: # 小應用:問卷調查,記錄下調查者名字和回答,詢問是否繼續。 # 運用數據字典、while、input()、title()和upper()。 resp

Python集合函數

報錯 定義函數 能夠 內置 lob 範圍 特性 模塊 列表 一 集合1 集合定義:A 如果花括號為空,則是字典類型B 定義一個空集合,使用set 加小括號使用B方式定義集合時,集合內部的數必須是可叠代對象,數值類型的不可以 集合的簡單應用(實現對集合內元素的去重操作,

Python容器叠代器生成器

模式 tro 斐波那契數 並保存 oop absolute 部分 iteration 訪問 1.容器、可叠代對象、叠代器、生成器概念 1. 容器:存儲許多元素的數據結構。通常存儲在內存(叠代器、生成器是特例)可以使用in來判斷某個元素是否在存在的對象都是容器 舉個例子:容

Python條件循環語句

rain letter 條件 ont 繼續 span 實例 git pan 1、條件語句#語法: if <條件判斷1>: <執行1> elif <條件判斷2>: <執行2> elif <條件判斷3&g

Python str repr 反引號(``)的區別

rep lock 的區別 num str code 轉換 repr 字符 str 、 repr 、 `` 、是將Python值轉換為字符串的3種方式 >> print str("Hello, World !")hello, worl

pythonproperty類方法和靜態方法

new 增刪改查 turn 引用 dict 沒有 不同的 保護 實例化 一、完整的property1、定義一個方法被偽裝成屬性之後,應該可以執行一個屬性的增刪改查操作,增加和修改就對應著被setter裝飾的方法,刪除一個屬性對應著被deleter裝飾的方法。 @prope

pythonxlwtxlrd和openpyxl

實現對excel檔案的讀寫功能 1.xlwt:對xls等excel檔案的寫入 2.xlrd:對xls等excel檔案的讀取 3.openpyxl:對xlsm、xlsx等excel檔案的讀寫 一、讀excel表(xlrd) 讀excel要用到xlrd模組,官網安裝(http://p

(轉)pythonfrom_bytesto_bytes

原文:https://blog.csdn.net/PYTandFA/article/details/78741339 https://python3-cookbook.readthedocs.io/zh_CN/latest/c03/p05_pack_unpack_large_int_from_bytes.h

Python學習手冊 Python Python 程式設計規範和函式引數

在上一篇文章中,我們介紹了 Python 的的正則表示式使用示例,現在我們介紹 Python 之禪、 Python 程式設計規範和函式引數。檢視上一篇文章請點選:https://www.cnblogs.com/dustman/p/10040430.html Python 之禪讓程式能夠正確執行只是成為一個優

Python Mysql多執行緒

文章目錄1、增2、刪3、改4、查二、多執行緒 一、Mysql 通過python操作mysql 1、增 import MySQLdb # 開啟門 conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd

Python切片迭代和列表生成式

切片 L=list(range(5)) 取相應範圍內的元素:L[m:n]表示從索引m開始取,直到索引n為止,但不包括索引n,如果第一個索引是0,還可以省略: L[0:3]/L[:3]——[1,2,3] 還支援倒數切片: L[-2:]——[4,5] L[-2:-

pythonlisttupledictset常用函式

#可變型別 ###目標: * 理解列表、元組、字典的性質 * 會使用可變型別常見函式 * 會使用range函式 * 會使用for進行遍歷 * 會使用切片 ####基本語法 列表list:有序可變的儲存模型 list = [] list.insert(idx,data

pythonsortedmapreducejoinsplit函式的例項操作

sorted 資料如下: key為選擇需要排序的元素;reverse為True,表示逆序排序。 reverse為False,表示順序排序。 map 資料如下。 按lambda表示式操作。 reduce 按lambda表示式操作

pythonMSEMAERMSE

target = [1.5, 2.1, 3.3, -4.7, -2.3, 0.75] prediction = [0.5, 1.5, 2.1, -2.2, 0.1, -0.5] error = [] for i in range(len(target)): er

python列表元組

  Day 2   建立列表 建立列表和建立普通變數一樣,用中括號括起一堆資料即可(這裡的資料可以是整型、字串、浮點型...甚至可以包含另一個列表),資料間用逗號隔開。 eg:number=[1,2,3,4,5]    m

pythonwhilecontinuebreak

while迴圈實現使用者登入 _user = "tom" _passwd = "abc123" counter = 0 while counter < 3:   #當條件為假時,跳出迴圈 username = input("Username:") password = inp