網(wǎng)站首頁 編程語言 正文
前言
上一篇文章寫了關(guān)于字典操作方法的增刪改,這篇主要講解如何查找字典數(shù)據(jù)。查找數(shù)據(jù)寫法一共有兩種,一種能夠是key值查找,另外一種是按照函數(shù)的寫法進(jìn)行數(shù)據(jù)查找。
一、key值查找
如果當(dāng)前查找的key存在,則返回對應(yīng)的值,否則則報(bào)錯(cuò)。
代碼示例:
dict1 = {'name': 'Rose', 'age': 30, 'sex': '女'}
# key存在則返回對應(yīng)值
print(dict1['name']) # Rose
# key不存在則報(bào)錯(cuò)
print(dict1['id']) # 報(bào)錯(cuò)
二、函數(shù)查找
2.1 get()
語法:
字典序列.get(key, 默認(rèn)值)
注意:
如果當(dāng)前查找的key不存在則返回第二個(gè)參數(shù)(默認(rèn)值),如果省略第二個(gè)參數(shù),則返回None。
快速體驗(yàn):
dict1 = {'name': 'Rose', 'age': 30, 'sex': '女'}
# key存在
print(dict1.get('name')) # Rose
print(dict1.get('name', 'python')) # Rose
# key不存在,第二個(gè)參數(shù)存在,返回第二個(gè)參數(shù)
print(dict1.get('id', 1010)) # 1010
# key不存在,第二個(gè)參數(shù)不存在,返回None
print(dict1.get('id')) # None
2.2 keys()
語法:
字典序列.keys()
作用:
查找字典中所有的key,返回可迭代對象(可跌迭代對象就是可以用for遍歷的對象)
快速體驗(yàn):
dict1 = {'name': 'Rose', 'age': 30, 'sex': '女'}
print(dict1.keys())
# 結(jié)果 dict_keys(['name', 'age', 'sex'])
# 結(jié)果是可迭代對象,用for遍歷的對象
2.3 values()
語法:
字典序列.values()
作用:
查找字典中所有的value,返回可迭代對象(可跌迭代對象就是可以用for遍歷的對象)
快速體驗(yàn):
dict1 = {'name': 'Rose', 'age': 30, 'sex': '女'}
print(dict1.values())
# 結(jié)果 dict_values(['Rose', 30, '女'])
# 結(jié)果是可迭代對象,用for遍歷的對象
2.4 items()
語法:
字典序列.get(key, 默認(rèn)值)
作用:
查找字典中所有的鍵值對,返回可迭代對象,里面的數(shù)據(jù)是元組,元組數(shù)據(jù)1是字典的key,元組數(shù)據(jù)2是字典key對應(yīng)的值。
快速體驗(yàn):
dict1 = {'name': 'Rose', 'age': 30, 'sex': '女'}
print(dict1.items())
# 結(jié)果 dict_items([('name', 'Rose'), ('age', 30), ('sex', '女')])
dict1 = {'name': 'Rose', 'age': 30, 'sex': '女'}
print(dict1.items())
# 結(jié)果 dict_items([('name', 'Rose'), ('age', 30), ('sex', '女')])
# 結(jié)果是可迭代對象
附:字典的常用方法
"""
字典的定義、添加和修改
"""
dictA = {} # 空字典,沒有任何的數(shù)據(jù)
dictA['name'] = 'lihua' # 將一個(gè)鍵值對添加到字典中,name是key,lihua是value
print(dictA) # 輸出完整的字典
dictB = {'name': 'xiaogang', 'age': 18, 'job': [student, cook]} # 在創(chuàng)建字典時(shí)就添加鍵值對
print(len(dictB)) # 字典同樣可以通過len函數(shù)來獲取鍵值對的長度
print(dictB['name']) # 因?yàn)樽值渲衚ey具有唯一性,所以可以通過查找key的方式來獲取對應(yīng)的value
dictB['name'] = 'xiaowang' # 修改key所對應(yīng)的value
"""
字典中鍵、值、鍵值對的獲取
"""
dictB = {'name': 'lh', 'age': '18', 'job': 'student'}
print(dictB.keys()) # 獲取字典中全部的鍵
print(type(dictB.keys)) # 數(shù)據(jù)類型為dict_keys
print(dictB.values()) # 獲取字典中全部的值
print(type(dictB.values())) # 數(shù)據(jù)類型為dict_values
print(dictB.items()) # 獲取字典中全部的鍵值對
print(type(dictB.items())) # 數(shù)據(jù)類型為dict_values
"""
字典的遍歷操作
"""
dictB = {'name': 'lh', 'age': '18', 'job': 'student'}
for item in dictB.items():
print(item) # 字典是可以遍歷的
pass
for key, value in dictB.items():
print(key + '==' + value) # 可以用兩個(gè)臨時(shí)變量分別接收鍵值對的key和value
"""
字典的更新、修改
"""
dictB = {'name': 'lh', 'age': '18', 'job': 'student'}
dictB.update({'name': 'lki'}) # 利用update函數(shù)可以進(jìn)行對鍵值對的修改
dictB.update({'height': '159'}) # update函數(shù)還可以增加鍵值對,有更新字典的特征
"""
鍵值對的刪除
"""
dictB = {'name': 'lh', 'age': '18', 'job': 'student'}
del dictB['name'] # 通過指定key可以刪除鍵值對
dictB.pop('age') # 通過指定key進(jìn)行刪除
dictB.clear() # 清空字典
del dictB # 刪除字典
總結(jié)
原文鏈接:https://blog.csdn.net/weixin_48728769/article/details/124246816
相關(guān)推薦
- 2022-07-11 deepstream 問題
- 2023-10-12 解決父元素opacity會(huì)影響子元素的問題
- 2023-01-15 Android開發(fā)可添加頭尾的RecycleView的實(shí)現(xiàn)_Android
- 2023-11-12 python 列表、字典、元組與集合的特點(diǎn)以及對比
- 2022-07-01 c++詳細(xì)講解構(gòu)造函數(shù)的拷貝流程_C 語言
- 2021-12-09 銀河麒麟4.0.2(Ubuntu)擴(kuò)展boot分區(qū)過程介紹_Linux
- 2022-07-15 Qt各種字符轉(zhuǎn)換的實(shí)現(xiàn)示例_C 語言
- 2023-11-22 Docker常用命令、指令
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支