python創(chuàng)建字典(dict)的幾種方法小結(jié)(含代碼示例)
前言
字典(Dictionary)是Python中一種非常靈活的數(shù)據(jù)結(jié)構(gòu),用于存儲鍵值對(key-value pairs)。在Python中創(chuàng)建字典有多種方法,每種方法都有其特定的使用場景和優(yōu)勢。
本文將詳細(xì)介紹Python中創(chuàng)建字典的幾種常見方法,包括相關(guān)知識講解、代碼示例以及實(shí)際應(yīng)用案例。
一、字典特點(diǎn)
字典是一種可變?nèi)萜髂P停铱纱鎯θ我忸愋蛯ο?,包括?shù)字、字符串、列表、元組、甚至其他字典。
字典的每個鍵值對用冒號:分隔,每個對之間用逗號,分隔,整個字典包括在花括號{}中。
字典包含如下特點(diǎn):
- 無序性:Python 3.6之前的版本中,字典是無序的,但3.7及之后版本中,字典是按照插入順序存儲的。
- 可變性:字典的內(nèi)容可以被修改。
- 唯一性:字典中的鍵是唯一的。
二、創(chuàng)建字典方法
方法一:花括號直接創(chuàng)建
# 基本用法
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# 空字典
empty_dict = {}
方法二:dict()構(gòu)造函數(shù)
# 從鍵值對元組列表創(chuàng)建
items = [('name', 'Bob'), ('age', 30), ('city', 'Los Angeles')]
my_dict = dict(items)
# 直接使用關(guān)鍵字參數(shù)
my_dict = dict(name='Charlie', age=35, city='Chicago')
方法三:字典推導(dǎo)式
# 根據(jù)列表生成字典
numbers = [1, 2, 3, 4]
my_dict = {num: num**2 for num in numbers}
方法四:collections模塊
from collections import defaultdict, OrderedDict
# 默認(rèn)值字典
dd = defaultdict(lambda: 'N/A')
dd['key1'] = 'value1'
print(dd) # 輸出:defaultdict(<function <lambda> at ...>, {'key1': 'value1'})
# 有序字典
od = OrderedDict()
od['one'] = 1
od['two'] = 2
od.move_to_end('one') # 將'one'移動到末尾
方法五:直接創(chuàng)建空字典
dic = {}
print(type(dic))
# 輸出結(jié)果:<class 'dict'>
方法六:通過dict和zip創(chuàng)建
dic = dict(zip('abc', [1, 2, 3]))
print(dic)
# 輸出結(jié)果:{'a': 1, 'b': 2, 'c': 3}
方法七:fromkeys()創(chuàng)建
dic = dict.fromkeys(range(4), 'x')
print(dic)
# 輸出結(jié)果:{0: 'x', 1: 'x', 2: 'x', 3: 'x'}
三、應(yīng)用案例
案例一:使用字典存儲用戶信息
# 創(chuàng)建用戶信息字典
user_info = {
'username': 'john_doe',
'email': 'john@example.com',
'signup_date': '2024-06-08'
}
# 更新用戶信息
user_info['email'] = 'new_john@example.com'
# 訪問用戶信息
print(user_info['username'])
案例二:使用defaultdict處理不完整的數(shù)據(jù)
# 假設(shè)我們有一個包含不完整數(shù)據(jù)的列表
data = ['name', 'age', 'city', 'name', 'email']
# 使用defaultdict自動填充缺失數(shù)據(jù)
info = defaultdict(str)
for item in data:
key, value = item, info[item] if item in info else 'Not provided'
info[key] = value
print(info)
案例三:使用字典推導(dǎo)式生成冪次方字典
# 創(chuàng)建一個字典,其中包含數(shù)字及其平方
squares = {x: x**2 for x in range(6)}
print(squares)
過程中的注意事項(xiàng)
字典的鍵必須是不可變類型,如字符串、數(shù)字或元組。
在Python 3.7+中,字典保持插入順序,但這不是語言規(guī)范的一部分,因此依賴此特性可能存在風(fēng)險。
使用defaultdict和OrderedDict時,需要從collections模塊導(dǎo)入。
總結(jié)
到此這篇關(guān)于python創(chuàng)建字典(dict)的幾種方法小結(jié)(含代碼示例)的文章就介紹到這了,更多相關(guān)python創(chuàng)建字典(dict)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)微信每日一句自動發(fā)送給喜歡的人
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)微信每日一句自動發(fā)送給喜歡的人,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-04-04
分位數(shù)回歸模型quantile regeression應(yīng)用詳解及示例教程
這篇文章主要為大家介紹了介紹了分位數(shù)回歸quantile regeression的概念詳解及代碼示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11
python3模擬百度登錄并實(shí)現(xiàn)百度貼吧簽到示例分享(百度貼吧自動簽到)
這篇文章主要介紹了python3模擬百度登錄并實(shí)現(xiàn)百度貼吧簽到示例,需要的朋友可以參考下2014-02-02
Python實(shí)現(xiàn)K-近鄰算法的示例代碼
k-近鄰算法(K-Nearest Neighbour algorithm),又稱 KNN 算法,是數(shù)據(jù)挖掘技術(shù)中原理最簡單的算法。本文將介紹實(shí)現(xiàn)K-近鄰算法的示例代碼,需要的可以參考一下2022-09-09
python利用openpyxl拆分多個工作表的工作簿的方法
這篇文章主要介紹了python利用openpyxl拆分多個工作表的工作簿的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Python中g(shù)lobal關(guān)鍵字的用法詳解
Python是一種簡單而強(qiáng)大的編程語言,提供了許多功能和語法來幫助開發(fā)人員編寫高效的代碼,其中一個常用的功能是使用global關(guān)鍵字來在函數(shù)內(nèi)部訪問和修改全局變量,在本文中,我們將深入探討Python中g(shù)lobal關(guān)鍵字的用法,以及使用它的一些最佳實(shí)踐2023-12-12

