python学习Day-7

Learning Diary for Python - 7

一、字典

1.字典和列表的选择

​ 需同时保存多个数据的时候,如果多个数据意义相同(种类单一)使用列表;意义不同(种类不单一)使用字典

2.认识字典(dict)

  • 数据类型:容器型
  • 容器标志:{}
  • 键值对格式:键:值
  • 特征:
    • 字典的数据必须全部为键值对
    • 必须用{}作为容器标志
    • 多个键值对用:隔开
  • 特点
    • 字典可变(支持增删改查)
    • 字典无序(不支持下标,元素顺序不影响结果)
  • 空字典:{}
  • 对元素的要求
    • 键的要求

      • 键必须是不可变的类型的数据(数字、字符串、布尔、元组等)
      • 键必须是唯一的
      dict={
             'a':10,'b':20,[1,2]:50} #报错
      dict={
             'name': '张三', 30}#报错
      print({
             'a': 10, 'b': 20} == {
             'b': 20, 'a': 10})   # True
      
      #键是唯一 重复以后面的为准
      dict4 = {
             'a': 10, 'b': 20, 'c': 30, 'a': 100}
      print(dict4)        # {'a': 100, 'b': 20, 'c': 30}
      
    • 值的要求

      • 没有要求

3.基本操作

#查单个(一次获取一个值)

#语法1:字典[键]	-	获取字典中指定键对应的值
dog={
   'name':'旺财''age','3'}	
print(dog['age'])

#语法2:字典.get(键,默认值)	-	获取字典中指定键对应的值,如不存在,返回默认值
print(dog.get('age')) #3
print(dog.get('date',1))#1

#区别
print(dog['data'])  报错
print(dog.get('data')) 返回空值
  • 直接遍历
#语法一
forin 字典:
	pass

#语法二    
for 键,值 in 字典.items():
    pass

#e.g.
stu = {
   'name': '小明', 'gender': '男', 'age': 18, 'score': 100, 'education': '专科'}

for x in stu:
    print(x, stu[x])

for x, y in stu.items():
    print(x,y)
  • 增/改——添加键值对

    • 字典[键]=值

      cat = {
             'name': '花花', 'breed': '加菲'}
      
      #增
      cat['color']='白色'
      print(cat) #{'name': '花花', 'breed': '加菲', 'color': '白色'}
      
      #改
      cat['name']='小白'
      print(cat) #{'name': '小白', 'breed': '加菲'}
      
    • 字典.setdefault(键, 值)——添加键值对(如果键不存在就添加键值对,如果键存在不动字典)

      cat = {
             'name': '花花','breed': '加菲'}
      cat.setdefault('color', '白色')
      print(cat)	#{'name': '花花', 'breed': '加菲', 'color': '白色'}
      cat.setdefault('breed', '美短')
      print(cat)	#{'name': '花花', 'breed': '加菲'}
      
    • del字典[键]——删除键值对

      cat = {
             'name': '小白', 'breed': '加菲', 'color': '白色', 'age'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值