10.17字典

目录

什么是字典

字典的创建

字典元素的获取

字典的常用操作

字典的特点

字典生成式


什么是字典

[value1,value2]列表

都是可变序列,

可以进行增删改操作

有序序列单个元素存储的
{key1:value1,key2:value2}字典无序序列以键值对形式存储的

字典是根据key查找value所在的位置

字典的创建

1.使用花括号创建字(冒号左边为键,冒号右边为值)

scores={'张三':100,'李四':50,'王五':99}
print(scores)
print(type(scores))#<class 'dict'>类型为字典

2.使用内置函数dic(),创建字典

#2.使用内置函数dic(),创建字典
student=dict(name='jack',age=20)
print(student)

#空字典
d={}
print(d)

 字典元素的获取

1.使用 [ ] 

scores={'张三':100,'李四':50,'王五':99}
#1.使用[]
print(scores['王五'])
#print(scores['陈六'])#KeyError: '陈六' 报错!

!!!注意,如果没有找到相应的key,则会报错 KeyError

2.使用get(),获取字典的值

scores={'张三':100,'李四':50,'王五':99}
#2.使用get()函数,获取字典的元素
print(scores.get('王五'))
print(scores.get('陈六'))#None 不会报错
print(scores.get('陈六',77))#如果KeyError,则输出默认值77

!!!注意,同样地,没有找到相应的key,则会输出None,不会报错

特别地,print(scores.get('key',value))#如果KeyError,则输出默认值value

字典的常用操作

这里字典名用scores代替

1.key的判断

in/not in

scores={'张三':100,'李四':50,'王五':99}
print('张三' in scores)
print('张三' not in scores)

2.key-value对的删除

del scores[key]

#key-value对的删除
del scores['张三']
print(scores)

3字典的清空

scores.clear()

#字典的清空
scores.clear()
print(scores)

4.字典的元素的增加和修改

scores[key]=value

#新增元素
scores['陈六']=100
print(scores)

#修改元素
scores['陈六']=98
print(scores)

5.获取字典的视图

获取所有的keyscores.keys
获取所有的valuescores.values
获取所有的key-value对scores.items
scores={'张三':100,'李四':50,'王五':99}
#获取所有的key
keys=scores.keys()
print(keys)
print(type(keys))#<class 'dict_keys'>
print(list(keys))#使用一个list()函数,创建一个列表存放所有的key

#获取所有的value
values=scores.values()
print(values)
print(type(values))#<class 'dict_values'>
print(list(values))

#获取所有key-value对
items=scores.items()
print(items)
print(type(items))#<class 'dict_items'>
print(list(items))#[('张三', 100), ('李四', 50), ('王五', 99)] 元组()

6.字典元素的遍历

字典也是一个可以循环的序列,所有可以用for循环遍历

#字典元素的遍历
scores={'张三':100,'李四':50,'王五':99}
for item in scores:
    print(item)#注意,此时打印的是字典中所有的key
    print(scores.get(item))

字典的特点

1.key不可以重复,value可以重复

2.字典中的元素是无序的

3.字典中的key必须是不可变对象

4.字典可以动态伸缩

5.字典会浪费较大的内存

字典生成式

有两个列表lst1,lst2,将其合成为一个字典new_dictionary(一个作为key,一个作为value)

new_dictionary={key:value  for key,value in zip(lst1,lst2)   }

items=['Fruits','Books','Others']
prices=[20,32,54]

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值