IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python中字典的基本操作 -> 正文阅读

[Python知识库]Python中字典的基本操作

#与字典有关的操作
from collections import defaultdict

#字典结构 key:value ,key为关键值,不可重复

#创建字典(list为创建列表字典)
d = defaultdict(list)
d['a'].append(1)
d['a'].append(2)
d['a'].append(3)

d['b'].append(4)
d['b'].append(5)
print(d)


#输出
defaultdict(<class 'list'>, {'a': [1, 2, 3], 'b': [4, 5]})



#set为创建集合字典
d = defaultdict(set)
d['a'].add(1)
d['a'].add(2)
d['a'].add(3)

d['b'].add(4)
d['b'].add(5)
print(d)

#输出
defaultdict(<class 'set'>, {'a': {1, 2, 3}, 'b': {4, 5}})


#花括号创建字典
score = {'数学':99,'英语':85,'语文':95}
print(score)

#输出
{'数学': 99, '英语': 85, '语文': 95}



#花括号创建字典2(注意,此方法创建字典时,key不能是列表形式)
cla = {(20,30):'good',50:'nice',90:'perfect'}
print(cla)

#输出
{(20, 30): 'good', 50: 'nice', 90: 'perfect'}



#创建字典3:利用列表或元组创建key-value对
vegetables = [('celery', 1.58), ('brocoli', 1.29), ('lettuce', 2.19)]
Vt = dict(vegetables)
print(Vt)

#输出
{'celery': 1.58, 'brocoli': 1.29, 'lettuce': 2.19}




#创建字典4:利用列表或元组创建key-value对
cars = [["BMW",8.5],['BENS',8.3],['AUDI',7.9]]
Car = dict(cars)
print(Car)

#输出
{'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}



#创建字典5(利用等式赋值创建字典)
dicts = dict(no1 = 1.9,no2 = 1.1,no3 = 0.9)
print(dicts)

#输出
{'no1': 1.9, 'no2': 1.1, 'no3': 0.9}



##################################################
#字典的基本用法,程序对字典的操作都是基于 key 的,基本操作如下
#通过 key 访问 value 
#通过 key 添加 key-value 对
#通过 key 删除 key-value 对
#通过 key 修改 key-value 对
#通过 key 判断指定 key-value 对是否存在
#通过 key 访问 value 使用的也是方括号语法,就像前面介绍的列表和元组一样,只是此时在方括号中放的是 key,而不是列表或元组中的索引


#通过 key 访问 value:
#查询上述字典{'数学': 99, '英语': 85, '语文': 95}中数学的分数
print(score['数学'])

#输出
99



#为字典添加key-valuce对
#在上述字典{'数学': 99, '英语': 85, '语文': 95}中添加'历史':80
score['历史'] = 80
print(score)

#输出
{'数学': 99, '英语': 85, '语文': 95, '历史': 80}



#删除宇典中的 key-value 对
#在上述字典{'数学': 99, '英语': 85, '语文': 95,'历史':80}中删除'数学':99
del score['数学']
print(score)

#输出
{'英语': 85, '语文': 95, '历史': 80}



#在上述字典{英语': 85, '语文': 95,'历史':80}中删除'语文':95
del score['语文']
print(score)

#输出
{'英语': 85, '历史': 80}



# 对存在的key-value对赋值,改变原有的key-value对
#改变上述字典{'英语': 85, '历史': 80},将英语成绩改为100
score['英语'] = 100
print(score)

#输出
{'英语': 100, '历史': 80}



#判断字典中是否包含指定的key
print('数学' in score)
print('英语' in score)

#输出
False
True



#########################################################
#字典的常用方法
#clear()的用法:清除字典中的所有key-value对
print(score)
score.clear()
print(score)

输出
{'英语': 100, '历史': 80}
{}




#get()的用法:根据key获取value值
score = {'英语': 100, '历史': 80,'数学':88}
print(score.get('英语')) #与[]效果相同
print(score['英语'])

#输出
100
100


#update()方法
score.update({'英语':60,'生物':99})
print(score)
#可以看出,使用update时,当有需要更新的key值时,将会覆盖原有值
#当没有需要更新的key值时,会自动创建该key-value对

#输出
{'英语': 60, '历史': 80, '数学': 88, '生物': 99}



#items(),keys(),values()用法
a = score.items() # 获取字典所有的key-value对,返回一个dict_items对象
print(a)
print(list(a)) #将dict_items转换成列表
print(list(a)[0]) #访问第一个key-value对

#输出
dict_items([('英语', 60), ('历史', 80), ('数学', 88), ('生物', 99)])
[('英语', 60), ('历史', 80), ('数学', 88), ('生物', 99)]
('英语', 60)



b = score.keys()
print(b)
print(list(b)) #转换成列表形式
print(list(b)[1]) #访问第二个key

#输出
dict_keys(['英语', '历史', '数学', '生物'])
['英语', '历史', '数学', '生物']
历史



c = score.values()
print(c)
print(list(c)) #转换成列表形式
print(list(c)[0]) #访问第一个value值

#输出
dict_values([60, 80, 88, 99])
[60, 80, 88, 99]
60



#pop()的使用
#pop() 方法用于获取指定 key 对应的 value,并删除这个 key-value 对
score = {'英语': 100, '历史': 80,'数学':88}
print(score)
score.pop('历史')
print(score)

#输出
{'英语': 100, '历史': 80, '数学': 88}
{'英语': 100, '数学': 88}




#popitem()方法,弹出底层存储的最后一个 key-value 对
score = {'英语': 100, '历史': 80,'数学':88}
print(score)
k,v = score.popitem()
print(score)
print(k,v)

#输出
{'英语': 100, '历史': 80, '数学': 88}
{'英语': 100, '历史': 80}
数学 88



#setdefault()方法
#setdefault() 方法也用于根据 key 来获取对应 value 的值。
#但该方法有一个额外的功能,即当程序要获取的 key 在字典中不存在时,该方法会先为这个不存在的 key 设置一个默认的 value,然后再返回该 key 对应的 value。
#即setdefault() 方法总能返回指定 key 对应的 value
score = {'英语': 100, '历史': 80,'数学':88}
print(score)

print(score.setdefault('英语',70)) #例如,英语原本就存在,因此返回的是原来的100而不是70
print(score.setdefault('生物',90)) #生物原本不存在,所以返回的是设定的90,并且将该key-value对加入字典中
print(score)

#输出
{'英语': 100, '历史': 80, '数学': 88}
100
90
{'英语': 100, '历史': 80, '数学': 88, '生物': 90}




#fromkeys() 方法:使用给定的多个 key 创建字典,这些 key 对应的 value 默认都是 None
#使用列表创建字典
a = dict.fromkeys(['m','n','p'])
print(a)

#使用元组创建字典
b = dict.fromkeys(('a','b','c'))
print(b)

#输出
{'m': None, 'n': None, 'p': None}
{'a': None, 'b': None, 'c': None}
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-12 13:07:15  更:2021-09-12 13:09:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 14:43:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码