Python中創(chuàng)建字典的幾種方法總結(jié)(推薦)
1、傳統(tǒng)的文字表達式:
>>> d={'name':'Allen','age':21,'gender':'male'} >>> d {'age': 21, 'name': 'Allen', 'gender': 'male'}
如果你可以事先拼出整個字典,這種方式是很方便的。
2、動態(tài)分配鍵值:
>>> d={} >>> d['name']='Allen' >>> d['age']=21 >>> d['gender']='male' >>> d {'age': 21, 'name': 'Allen', 'gender': 'male'}
如果你需要一次動態(tài)地建立一個字典的一個字段,那么這種方式比較合適。
字典與列表不同,不能通過偏移量進行復(fù)制,只能通過鍵來讀取或賦值,所以也可以這樣為字典賦值,當(dāng)然訪問不存在的鍵會報錯:
>>> d[1]='abcd' >>> d {1: 'abcd', 'age': 21, 'name': 'Allen', 'gender': 'male'} >>> d[2] Traceback (most recent call last): File "<pyshell#9>", line 1, in <module> d[2] KeyError: 2
3、字典鍵值表
>>> c = dict(name='Allen', age=14, gender='male') >>> c {'gender': 'male', 'name': 'Allen', 'age': 14}
因為這種形式語法簡單,不易出錯,所以非常流行。
這種形式所需的代碼比常量少,但是鍵必須都是字符串才行,所以下列代碼會報錯:
>>> c = dict(name='Allen', age=14, gender='male', 1='abcd') SyntaxError: keyword can't be an expression
4、字典鍵值元組表
>>> e=dict([('name','Allen'),('age',21),('gender','male')]) >>> e {'age': 21, 'name': 'Allen', 'gender': 'male'}
如果你需要在程序運行時把鍵和值逐步建成序列,那么這種方式比較有用。
5、所有鍵的值都相同或者賦予初始值:
>>> f=dict.fromkeys(['height','weight'],'normal') >>> f {'weight': 'normal', 'height': 'normal'}
以上這篇Python中創(chuàng)建字典的幾種方法總結(jié)(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
深入理解Python虛擬機中字典(dict)的實現(xiàn)原理及源碼剖析
這篇文章主要介紹了在?cpython?當(dāng)中字典的實現(xiàn)原理,在本篇文章當(dāng)中主要介紹在早期?python3?當(dāng)中的版本字典的實現(xiàn),現(xiàn)在的字典做了部分優(yōu)化,希望對大家有所幫助2023-03-03python實現(xiàn)將兩個文件夾合并至另一個文件夾(制作數(shù)據(jù)集)
這篇文章主要介紹了python實現(xiàn)將兩個文件夾合并至另一個文件夾(制作數(shù)據(jù)集),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04python提取excel一列或多列數(shù)據(jù)另存為新表代碼實例
在日常的工作中,其實就是用鼠標(biāo)進行數(shù)據(jù)篩選,然后選擇你想要這一行數(shù)據(jù)進行復(fù)制,下面這篇文章主要給大家介紹了關(guān)于python提取excel一列或多列數(shù)據(jù)另存為新表的相關(guān)資料,需要的朋友可以參考下2024-06-06Django ForeignKey與數(shù)據(jù)庫的FOREIGN KEY約束詳解
這篇文章主要介紹了Django ForeignKey與數(shù)據(jù)庫的FOREIGN KEY約束詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05Python Django 簡單分頁的實現(xiàn)代碼解析
這篇文章主要介紹了Python Django 簡單分頁的實現(xiàn)代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08