python中字典數據的特點_Python數據類型(字典)

Python 字典(Dictionary)

字典是另一種可變容器模型,且可存儲任意類型對象。

字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,格式如下所示:

d= {key1: value1, key2: value2}

鍵必須是唯一的,但值則不必。

值可以取任何數據類型,但鍵必須是不可變的,如字符串,數字或元組。

一個簡單的字典實例:

dict= {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

也可如此創建字典:

dict1= { 'abc': 456}; dict2= { 'abc': 123, 98.6: 37};

訪問字典里的值

實例

#!/usr/bin/python

dict= {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

print"dict['Name']: ",

dict['Name'];

print"dict['Age']: ", dict['Age'];

以上實例輸出結果:

dict['Name']:Zaradict['Age']:7

如果用字典里沒有的鍵訪問數據,會輸出錯誤如下:

實例

#!/usr/bin/python

dict= {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

print"dict['Alice']: ", dict['Alice'];

以上實例輸出結果:

dict['Alice']:Traceback(most recent call last):File"test.py",line 5,inprint"dict['Alice']: ",dict['Alice'];KeyError:'Alice'

修改字典

向字典添加新內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對如下實例:

實例

#!/usr/bin/python

dict= {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

dict['Age']= 8; # update existing entry

dict['School']= "DPS School"; # Add new entry

print"dict['Age']: ", dict['Age'];

print"dict['School']: ", dict['School'];

以上實例輸出結果:

dict['Age']:8dict['School']:DPS School

刪除字典元素

能刪單一的元素也能清空字典,清空只需一項操作。

顯示刪除一個字典用del命令,如下實例:

實例

#!/usr/bin/python

# -*- coding: UTF-8 -*-

dict= {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

deldict['Name']; # 刪除鍵是'Name'的條目

dict.clear(); # 清空詞典所有條目

deldict; # 刪除詞典

print"dict['Age']: ", dict['Age'];

print"dict['School']: ", dict['School'];

但這會引發一個異常,因為用del后字典不再存在:

dict['Age']:Traceback(most recent call last):File"test.py",line 8,inprint"dict['Age']: ",dict['Age'];TypeError:'type'objectisunsubscriptable

字典鍵的特性

字典值可以沒有限制地取任何python對象,既可以是標準的對象,也可以是用戶定義的,但鍵不行。

兩個重要的點需要記住:

1)不允許同一個鍵出現兩次。創建時如果同一個鍵被賦值兩次,后一個值會被記住,如下實例:

實例

#!/usr/bin/python

dict= {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'};

print"dict['Name']: ", dict['Name'];

以上實例輸出結果:

dict['Name']:Manni

2)鍵必須不可變,所以可以用數字,字符串或元組充當,所以用列表就不行,如下實例:

實例

#!/usr/bin/python

dict= {['Name']: 'Zara', 'Age': 7};

print"dict['Name']: ", dict['Name'];

以上實例輸出結果:

Traceback(most recent call last):File"test.py",line 3,indict ={['Name']:'Zara','Age':7};TypeError:list objects are unhashable

字典內置函數&方法

Python字典包含了以下內置函數和內置方法:

序號函數及描述

2

len(dict)

計算字典元素個數,即鍵的總數。

3

str(dict)

輸出字典可打印的字符串表示。

4

type(variable)

返回輸入的變量類型,如果變量是字典就返回字典類型。

序號函數及描述

2

3

dict.fromkeys(seq[, val]))

創建一個新字典,以序列 seq 中元素做字典的鍵,val 為字典所有鍵對應的初始值

4

5

dict.has_key(key)

如果鍵在字典dict里返回true,否則返回false

6

dict.items()

以列表返回可遍歷的(鍵, 值) 元組數組

7

dict.keys()

以列表返回一個字典所有的鍵

8

dict.setdefault(key, default=None)

和get()類似, 但如果鍵不存在于字典中,將會添加鍵并將值設為default

9

dict.update(dict2)

把字典dict2的鍵/值對更新到dict里

10

11

pop(key[,default])

刪除字典給定鍵 key 所對應的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。

12

popitem()

隨機返回并刪除字典中的一對鍵和值。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/260599.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260599.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260599.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

第5章 Python 數字圖像處理(DIP) - 圖像復原與重建10 - 空間濾波 - 統計排序濾波器 - 中值、最大值、最小值、中點、修正阿爾法均值濾波器

標題統計排序濾波器中值、最大值、最小值、中點 濾波器修正阿爾法均值濾波器統計排序濾波器 中值、最大值、最小值、中點 濾波器 f^(x,y)median{g(r,c)}(5.27)\hat{f}(x, y) \text{median} \{g(r,c)\} \tag{5.27}f^?(x,y)median{g(r,c)}(5.27) f^(x,y))max{g(r,c)}(5.28)\ha…

如何設置坐標原點值_氨氣檢測儀電化學原理及報警值如何設置

氨氣體檢測儀檢定規程:一般氨氣體檢測儀檢定規程主要是針對技術參數設定的一些標準,具體包含有規程的名稱和范圍、儀器示值誤差、充分性標準差、響應時間、穩定性、報警功能、流量控制器、檢定項目表、檢定操作有數值誤差、重復性、響應時間、穩定性等。…

統計信息及相關說明

統計信息:0 recursive calls20434 db block gets 317970511 consistent gets 0 physical reads 3759764 redo size 382 bytes sent via SQL*Net to client 1061 bytes received via SQL*Net from client 3 SQL*Ne…

Android橫豎屏切換的生命周期

關于Android手機橫豎屏切換時Activity的生命周期問題,網上有很多相似的文章,大多數都是說明在豎屏切換橫屏時Activity會重啟一次,而在橫屏切換豎屏時Activity會重啟兩次。 我本身不太理解這樣設計的意義,并且覺得新版本會解決這個…

python 隨機字符串_python生成隨機數、隨機字符串

python生成隨機數、隨機字符串 import random import string # 隨機整數: print random.randint(1,50) # 隨機選取0到100間的偶數: print random.randrange(0, 101, 2) # 隨機浮點數: print random.random() print random.uniform(1, 10) # 隨…

ACM 會場安排問題

會場安排問題 時間限制:3000 ms | 內存限制:65535 KB難度:4描述學校的小禮堂每天都會有許多活動,有時間這些活動的計劃時間會發生沖突,需要選擇出一些活動進行舉辦。小劉的工作就是安排學校小禮堂的活動,…

第5章 Python 數字圖像處理(DIP) - 圖像復原與重建11 - 空間濾波 - 自適應濾波器 - 自適應局部降噪、自適應中值濾波器

標題自適應濾波器自適應局部降噪濾波器自適應中值濾波器自適應濾波器 自適應局部降噪濾波器 均值是計算平均值的區域上的平均灰度,方差是該區域上的圖像對比度 g(x,y)g(x, y)g(x,y)噪聲圖像在(x,y)(x, y)(x,y)處的值 ση2\sigma_{\eta}^2ση2? 為噪聲的方差&am…

關閉防火墻_從零開始學Linux運維|09.關閉防火墻和SElinux

firewalld是centos7默認的防火墻安全增強型 Linux(Security-Enhanced Linux)簡稱 SELinux初學者建議先關閉,等熟悉了之后再來使用前期聯系中的好多錯誤都有可能是由于沒有關閉或者正確配置上面兩項造成的1.臨時關閉centos7下的防火墻firewalld一行命令就能夠關閉firewalld--&qu…

Discuz!NT - 在線顯示列表 游客 bug 修復

引發bug的條件:當你修改了系統組里面的[游客]組 的名字后!! 你會發現首頁上底部的在線顯示列表里始終都是顯示"游客"字樣而非你改過得字樣!如圖 至此你需要運行一個t-sql腳本去修復這個bug!(但是…

Linux查看物理CPU個數、核數、邏輯CPU個數

# 總核數 物理CPU個數 X 每顆物理CPU的核數 # 總邏輯CPU數 物理CPU個數 X 每顆物理CPU的核數 X 超線程數# 查看物理CPU個數 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l# 查看每個物理CPU中core的個數(即核數) cat /proc/cpuinfo| grep "cpu …

基于空間方法的圖神經網絡模型_用于時空圖建模的圖神經網絡模型 Graph WaveNet | 課程上新...

課程概要本課程來自集智學園圖網絡論文解讀系列活動。是對論文《Graph WaveNet for Deep Spatial-Temporal Graph Modeling》的解讀。時空圖建模 (Spatial-temporal graph modeling)是分析系統中組成部分的空間維相關性和時間維趨勢的重要手段。已有算法大多基于已知的固定的圖…

dataframe類型數據的遍歷_Python零基礎入門到爬蟲再到數據分析,這些你都是要學會的...

1.必須知道的兩組Python基礎術語A.變量和賦值Python可以直接定義變量名字并進行賦值的,例如我們寫出a 4時,Python解釋器干了兩件事情:在內存中創建了一個值為4的整型數據在內存中創建了一個名為a的變量,并把它指向4用一張示意圖表…

第5章 Python 數字圖像處理(DIP) - 圖像復原與重建12 - 空間濾波 - 使用頻率域濾波降低周期噪聲 - 陷波濾波、最優陷波濾波

標題使用頻率域濾波降低周期噪聲陷波濾波深入介紹最優陷波濾波本章陷波濾波器有部分得出的結果不佳,如果有更好的解決方案,請賜教,不勝感激。 使用頻率域濾波降低周期噪聲 陷波濾波深入介紹 零相移濾波器必須關于原點(頻率矩形中心)對稱&a…

Android之Menu動態改變文字

Menu創建: Override//這里遇到一個問題add的是MenuItem的idpublic boolean onCreateOptionsMenu(Menu menu) {// TODO Auto-generated method stubmenu.add(0,1023, 0, "一");menu.add(0,1022, 1, "開啟線程");Log.e("onCreateOptionsMenu…

iOS 開發周報:Apple 發布 iPhone 7 / 7 Plus 、Apple Watch 2 等新品

新聞\\Apple 發布 iPhone 7 / 7 Plus 、Apple Watch 2 等新品:Apple 正式發布了 iPhone 7 / 7 Plus、Apple Watch 2 新品,帶來 AirPods 無線耳機,并把馬里奧帶進了 iOS。iPhone 7 新增亮黑色,移除3.5mm 耳機孔,支持 IP…

python寫界面c這算法_插入算法分別從C,java,python三種語言進行書寫

真正學懂計算機的人(不只是“編程匠”)都對數學有相當的造詣,既能用科學家的嚴謹思維來求證,也能用工程師的務實手段來解決問題——而這種思維和手段的最佳演繹就是“算法”。 作為一個初級編程人員或者說是一個程序員&#xff0c…

去掉xcode中警告的一些經驗

1、編譯時,編譯警告忽略掉某些文件 只需在在文件的Compiler Flags 中加入 -w 參數,例如: 2、編譯時,編譯警告忽略掉某段代碼 #pragma clang diagnostic push#pragma clang diagnostic ignored "-Wmultichar"char b df;…

富士施樂3065掃描教程_全面支持IT國產化 富士施樂70款機型獲統信UOS兼容認證

最近,富士施樂(中國)有限公司宣布共70款機型獲得國產操作系統統信UOS的兼容認證,其中包括新一代ApeosPort旗艦智能型數碼多功能機、多功能一體機/打印機、生產型數字印刷系統。這是繼獲得中標麒麟、龍芯和兆芯兼容認證后&#xff…

Flash系統字體中的中文字體問題

在flash中使用as來改變textfield的中文字體 ,遇到發布版本超過10.2的時候,會悲劇!不支持使用中文名稱來改變字體。 解決辦法:1)使用英文名稱。2)發布的版本低于10.2 label:TextField new TextField(); for…

第5章 Python 數字圖像處理(DIP) - 圖像復原與重建13 - 空間濾波 - 線性位置不變退化 - 退化函數估計、運動模糊函數

標題線性位置不變退化估計退化函數采用觀察法估計退化函數采用試驗法估計退化函數采用建模法估計退化函數運動模糊函數OpenCV Motion Blur在這一節中,得到的結果,有些不是很好,我需要再努力多找資料,重新完成學習,如果…