Python基础 字典(字典的特点与各种详细的使用方法)

简介: Python字典的各种使用方式,基础技巧,详细特点


字典
python内置的数据结构之一,与列表一样是一个可变序列(可变序列的意思是可以进行增删改的操作的序列)
以键值对的方式存储数据,字典是一个无序的序列(有序序列是序列会将元素按填入顺序,有序排序,比如列表。而无序序列则不会按照填入顺序将元素填入序列,比如字典。)
例:

zidian={"张三":100,"李四":40,"王五":50}
字典名 花括号 逗号 键 冒号 值
字典的键不可改变
key不可以重复,value可以重复 #若键重复,那么前面的键的值会被覆盖
字典是由花括号包裹的元素的序列,冒号前面是键,后面是值,成对出现,称为键值对,由逗号分开每一份键值对

字典的创建方式:

一:最常用方式,使用花括号{}

hua={"张三":100,"李四":66,"王五":88}
print(hua)

二:使用内置函数dict()

dict(name="jack",age=20) 使用方式

wei=dict(name="jack",age=20) #将字典赋值给wei变量
print(wei) #打印字典

空字典

d={}
获取字典元素

第一种方式,使用[]

"""获取字典元素"""
hua={"张三":100,"李四":66,"王五":88}

第一种方式,使用[]

print(hua['张三'])

print(hua["陈六"]) #若字典里没有这个键,则输出:KeyError: '陈六'

第二种方式,使用get()方法

hua={"张三":100,"李四":66,"王五":88}
print(hua.get("张三"))
print(hua.get("陈六")) #若字典里没有这个键,则输出None
print(hua.get("麻七",99)) #99是在查找麻七时,若所对的value值不存在时,提供的一个默认值
两种获取字典元素的方式差别就在于,想要查找的键在字典里不存在时,输出的方式不同

使用[]获取字典元素,若字典里没有这个键,则抛出异常:KeyError: '陈六'
使用get()获取字典元素,若字典里没有这个键,则不会抛出异常,而是返回None值,可以通过参数设置默认的value,以便指定的key不存在时返回
"""字典的常用操作"""

key的判断

"""
in 指定的key在字典中存在就返回True 使用方式:"张三" in hua #张三在hua这个字典里,在就返回True,不在就返回False

not in 指定的key在字典中不存在返回True 使用方式:"Marry" not in hua
"""
hua={"张三":100,"李四":66,"王五":88}
print("张三" in hua )
print("Marry" not in hua)

字典元素删除

del hua["张三"] #删除指定键的键值对
print(hua)
字典元素的新增

hua={"张三":100,"李四":66,"王五":88}
hua["Jack"]=90
print(hua)
修改字典里的元素

hua={"张三":100,"李四":66,"王五":88}
hua["王五"]=66
print(hua)
清空字典

hua={"张三":100,"李四":66,"王五":88}
hua.clear()
print(hua)
获取字典视图的三个方法

keys() 获取字典所有key
values() 获取字典中的所有value
items() 获取字典中所有key,value对
获取该字典所有的键

hua={"张三":100,"李四":66,"王五":88}
keys1=hua.keys() #将该字典所有键赋值给keys1
print(keys1) #输出所有的键
print(type(keys1)) #查看该变量类型
print(list(keys1)) #将所有的key组成的视图转成列表
获取该字典所有的value值

hua={"张三":100,"李四":66,"王五":88}
value1=hua.values()
print(value1)
print(type(value1))
print(list(value1)) #将值打印成列表
获取所有的键值对

hua={"张三":100,"李四":66,"王五":88}
items1=hua.items()
print(items1)
print(type(items1))
print(list(items1)) #将键值对打印成列表,转换之后的列表元素是由元组组成的
字典元素的遍历

hua={"张三":100,"李四":66,"王五":88}
for item in hua:

print(item)     #打印item这个存储对象默认是依次输出键
print(hua.get(item))    #依次根据遍历出来的键输出相应的值
print(hua[item])      #根据键,输出相对应的值
print(item,hua.get(item),hua[item])    #可以同行打印

字典生成式

items=["Fruits","Books","Others"]
prices=[96,77,85,100,120]

d={item:price for item,price in zip(items,prices)}

d={item.upper():price for item,price in zip(items,prices)} #在item后加upper()函数可以让输出的键为大写

print(d)

相关文章
|
2月前
|
存储 JSON 索引
一文让你彻底搞懂 Python 字典是怎么实现的
一文让你彻底搞懂 Python 字典是怎么实现的
53 13
|
2月前
|
存储 数据安全/隐私保护 Python
Python常用数据结构——字典的应用
Python常用数据结构——字典的应用
|
2月前
|
关系型数据库 MySQL 数据库
Python MySQL查询返回字典类型数据的方法
通过使用 `mysql-connector-python`库并选择 `MySQLCursorDict`作为游标类型,您可以轻松地将MySQL查询结果以字典类型返回。这种方式提高了代码的可读性,使得数据操作更加直观和方便。上述步骤和示例代码展示了如何实现这一功能,希望对您的项目开发有所帮助。
121 4
|
2月前
|
Python
Python 字典删除下标前两个
Python 字典删除下标前两个
|
1月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
30 0
|
1月前
|
存储 自然语言处理 数据库
Python字典操作实现文章敏感词检索
Python字典操作实现文章敏感词检索
|
1月前
|
存储 JSON 数据处理
分析、总结Python使用列表、元组、字典的场景
分析、总结Python使用列表、元组、字典的场景
|
1月前
|
存储 Java Serverless
【Python】字典
【Python】字典
27 0
|
1月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (一)
Python操作:字符串--列表--元组--字典--运算符 (一)
|
1月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (二)
Python操作:字符串--列表--元组--字典--运算符 (二)