網站首頁 編程語言 正文
一. 什么是字典
字典作為Python的一個內置數據結構,和列表一樣都是可變序列的,但是它是無序的,以鍵值對的方式存儲數據。
二. 創建字典
創建字典的兩種方式,一種使用{ } 另一種使用內置函數dict()
# author: 爪哇斗羅(javaDouLuo)
# date: 2022/7/11 22:51
# 字典的創建
dict01={"A": 1, "B": 2, "C": 3}
# {'A': 1, 'B': 2, 'C': 3}
print(dict01)
dict02=dict(a=1, b=2,name="zs")
# {'a': 1, 'b': 2, 'name': 'zs'}
print(dict02)
三. 字典元素獲取
獲取字典元素有兩種,通過[]或者get()方法獲取,兩者的區別就是前者當key不存在會拋出異常,后者不會拋出異常,會返回None
# author: 爪哇斗羅(javaDouLuo)
# date: 2022/7/11 22:51
# 字典的創建
dict01 = {"A": 1, "B": 2, "C": 3}
# 字典的元素獲取
# 1
print(dict01["A"])
# 3
print(dict01.get("C"))
# KeyError: 'D'
# print(dict01["D"])
四. 字典元素的增刪改操作
使用not in與 in判斷字典元素中的key是否存在,這一點與列表的用法是相同的。當然也可以對字典中的元素進行增刪改的操作。
刪除鍵值對使用del, 增加字典元素與修改字典元素的操作是一樣的,就是有key與無key的區別。
# author: 爪哇斗羅(javaDouLuo)
# date: 2022/7/11 22:51
# 字典的創建
dict01 = {"A": 1, "B": 2, "C": 3}
# True
print("A" in dict01)
# False
print("A" not in dict01)
# 刪除 B
del dict01["B"]
# {'A': 1, 'C': 3}
print(dict01)
# 增加元素 D
dict01["D"]=4
# {'A': 1, 'C': 3, 'D': 4}
print(dict01)
# 修改D的值
dict01["D"]=40
# {'A': 1, 'C': 3, 'D': 40}
print(dict01)
五. 字典的視圖操作
通過keys(),values(),items()可以分別獲取字典中的所有鍵,所有值,所有鍵值對。
# author: 爪哇斗羅(javaDouLuo)
# date: 2022/7/11 22:51
# 字典的創建
dict01 = {"A": 1, "B": 2, "C": 3}
# 獲取所有的key
keys = dict01.keys()
# 類型為 <class 'dict_keys'>
print(type(keys))
# dict_keys(['A', 'B', 'C'])
print(keys)
# 轉化為列表 ['A', 'B', 'C']
print(list(keys))
# 獲取所有的value
values = dict01.values()
# 類型為 <class 'dict_values'>
print(type(values))
# dict_values([1, 2, 3])
print(values)
# 轉化為列表 [1, 2, 3]
print(list(values))
# 獲取所有的鍵值對
items = dict01.items()
# <class 'dict_items'>
print(type(items))
# dict_items([('A', 1), ('B', 2), ('C', 3)])
print(items)
# 元組的數據結構 [('A', 1), ('B', 2), ('C', 3)]
print(list(items))
當然也可以使用以下的方式去遍歷字典元素:
# author: 爪哇斗羅(javaDouLuo)
# date: 2022/7/11 22:51
# 字典的創建
dict01 = {"A": 1, "B": 2, "C": 3}
# A 1 1
# B 2 2
# C 3 3
for item in dict01:
print(item,dict01[item],dict01.get(item))
字典的總結如下:
字典中的key不允許重復,value可以
其中key為不可變對象
字典中的元素是無序的
字典根據需要動態伸縮,但字典會浪費較多的內存空間
原文鏈接:https://blog.csdn.net/qq_41857955/article/details/125732445
相關推薦
- 2023-06-04 django數據庫報錯解決匯總:django.db.utils.OperationalError?1
- 2022-01-01 使用el-date-picker根據開始月份,動態禁用結束月份
- 2023-02-07 詳解C#如何實現窗體換膚_C#教程
- 2023-01-02 C語言中讀寫交替時出現的問題分析_C 語言
- 2022-09-02 Redis解決Session共享問題的方法詳解_Redis
- 2022-08-30 C#中Linq的去重方式Distinct詳解_C#教程
- 2022-02-23 C#使用log4net記錄日志_C#教程
- 2022-09-09 python如何利用turtle繪制正方形_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支