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)

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python-派大星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值