字典的基本应用

'''什么是字典
    字典的原理
    字典的创建与删除
    字典的查询操作
    字典元素的增,删,改操作'''

#字典
#Python内置的数据类型之一,与列表一样是一个可变序列
#以键值对的方式存储数据,字典是一个无序的序列
scores={'张三':100,'李四':98}   #字典名 花括号 键 冒号 值逗号
print(scores)

#字典的创建  使用花括号{} 使用内置函数dict()
'''----使用{}创建字典----'''
scores={'张三':100,'李四':98}
print(scores)
'''----使用内置函数dict()创建字典----'''
student=dict(name='Jack',age=20)
print(student)
'''空字典'''
d={}
print(d)

'''字典中元素的获取
    []取值    scores=['python']
    get()取值 scores.get('python')
    []如果字典中不存在指定的key,抛出KeyError异常
    get()方法取值,如果字典中不存在指定的key,并不会抛出KeyError而是返回None,可以通过参数设置默认的value
    以便指定的key不存在时返回'''

#获取字典中的元素
#[]取值
scores={'张三':100,'李四':98}
print(scores['张三'])     #print(scores['陈六'])    #KeyError:'陈六'
#get()取值
scores={'张三':100,'李四':98}
print(scores.get('张三')) #None
print(scores.get('陈六',99))  #99是在查找'陈六'所对应的value不存在时,提供的一个默认值

'''key的判断
    in 指定的key在字典中存在返回True
    not in 指定的key在字典中不存在返回True
    字典元素的删除
    del scores['张三']
    字典元素的新增
    scores['jack']=90'''

#key的判断
scores={'张三':100,'李四':98}
print('张三' in scores)
print('张三' not in scores)
#字典元素的删除操作
del scores['张三']    #删除指定的key-value对
print(scores)
scores.clear()  #清空字典的元素
print(scores)
#字典元素的新增操作
scores['陈六']=98     #新增元素
print(scores)
scores['陈六']=100    #修改元素
print(scores)

'''获取字典视图的三个方法
    keys()  获取字典中所有key
    values()    获取字典中所有value
    items()     获取字典中所有key-value对'''

scores={'张三':100,'李四':98}
#获取所有的key
keys=scores.keys()
print(keys)
print(type(keys))
print(list(keys))   #将所有的key组成的视图转成列表
#获取所有的value
values=scores.values()
print(values)
print(type(values))
print(list(values))
#获取所有的key-value对
items=scores.items()
print(items)
print(type(items))
print(list(items))

#字典元素的遍历
for item in scores:
    print(item,scores[item],scores.get(item))

'''字典的特点
    字典中的所有元素都是一个key-value对,key不允许重复,value允许重复
    字典中的元素是无序的
    字典中的key必须是不可变对象
    字典也可以根据需要动态的伸缩
    字典会浪费较大的内存,是一种空间换时间的数据结构'''

s={'name':'张三','name':'李四'}     #key不允许重复
print(s)
s={'name':'张三','new-name':'张三'} #value允许重复
print(s)

lst=[10,20,30]
lst.insert(1,100)
print(lst)

#d={lst:100}    TypeError: unhashable type: 'list'

#字典生成式
#内置函数zip()
#用于将可迭代对象作为参数,将对象中对应的元素打包成一个元组,然后返回由这些元组组成的列表
#字典生成式  {item.upper():price for item,price in zip(items,prices)

items=['Fruits','Books','Others']
prices=[96,78,85]
d={item.upper():price for item,price in zip(items,prices)}
print(d)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值