阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

常见数据结构-dict字典

198次阅读
没有评论

共计 1007 个字符,预计需要花费 3 分钟才能阅读完成。

一、概述

  • 概念

    使用键值对 (key-value) 的形式存储数据,具有极快的查找速度

  • 特性

    1. 字典中的 key 必须唯一

    2. 键值对是无序的

    3. key 必须是不可变对象

      a:字符串、数字都是不可变的,可以作为 key(一般为字符串)

      b:列表是可变的,不能作为 key

  • 思考

    保存一个学生的信息(姓名、学号、性别、年龄、身高、体重)

    str1 = "zutuanxue#1# 男 #18#173.5#80" li1 = ["zutuanxue", 1, "男", 18, 173.5, 80] t1 = ("zutuanxue", 1, "男", 18, 173.5, 80)
  • 问题解决

    使用字典

    定义格式:字典名 = {key1:value1, key2:value2,……,keyn:valuen}

二、基本使用

  • 创建

    # 创建一个字典保存一个学生信息 stu1 = {"name": "zutuanxue", "age": 18, "sex": "男", "height": 173.5, "weight":80, "id": 1} stu2 = {"name": "liudh", "age": 57, "sex": "男", "height": 180, "weight":75, "id": 2} stus = [stu1, stu2]
  • 访问字典的值

    stu3 = {"name": "zutuanxue", "age": 18, "sex": "男", "height": 173.5, "weight":80, "id": 1} # 获取 字典名[key] print(stu3["name"]) # print(stu3["money"]) #获取不存在的属性值会报错 # 获取 字典名.get(key) print(stu3.get("age")) print(stu3.get("money")) # 获取不存在的属性会得到 None money = stu3.get("money") if money: print("money = %d"%money) else: print("没有 money 属性")
  • 添加键值对

    # 添加键值对,没有的键会添加,有的会修改 stu3["nikeName"] = "kaige" stu3["age"] = 16
  • 删除

    stu3.pop("nikeName") print(stu3)

三、比较 list 与 dict

  • list

    优点:占用的内存空间小,浪费的内存很少

    缺点:查找和插入的效率会随着元素的增多而降低

  • dict

    优点:查找和插入的速度极快,不会随着 key-value 的增多而降低效率

    缺点:需要占用大量的内存,内存浪费过多

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-05-26发表,共计1007字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中