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)

相关文章
|
9天前
|
Python
Python中字典解包(Unpacking Dictionaries)
【6月更文挑战第14天】
17 5
|
8天前
|
存储 Serverless Python
在python中字典和元类的使用技巧
【6月更文挑战第21天】探索Python编程:本文涵盖字典排序、阿姆斯壮数检查、最大公因数与最小公倍数计算、下划线用途(如存储解释器结果、忽略值、命名约定),以及数字分隔增强可读性。此外,用下划线分隔数字如1_000_000,便于读取二进制、八进制和十六进制数值。
60 8
在python中字典和元类的使用技巧
|
2天前
|
Python
Python中解包到单独的变量对于字典
【6月更文挑战第20天】
17 11
|
1天前
|
Python
Python中字典解包
【6月更文挑战第21天】
7 2
|
3天前
|
存储 Python
Python中使用列表和字典来存储和处理复杂的数据结构
Python中使用列表和字典来存储和处理复杂的数据结构
|
7天前
|
Python
python中使用字典推导式
【6月更文挑战第16天】
19 8
|
1天前
|
存储 索引 Python
字符串、列表、元组、字典(python)
字符串、列表、元组、字典(python)
|
7天前
|
Python
如何在Python中使用字典推导式
【6月更文挑战第16天】
16 7
|
5天前
|
Python
python中字典的解包
【6月更文挑战第17天】
12 2