七天学会Python基础-第二天1/1

Posted double大博

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了七天学会Python基础-第二天1/1相关的知识,希望对你有一定的参考价值。

字典的学习

  1. 字典的初识
    • 列表可以存储大量数据,但数据的关联性不强,且列表的查询速度较慢,因此有了字典
    • 字典:{}括起来,以键值对的形式存储的容器型数据类型
      • 字典的键必须是不可变的数据类型且是唯一的,一般最常用的就是int,str(bool和tuple几乎不用)
      • 字典的值可以是任意数据类型,对象。
      • 字典在3.5x版本之前(包括3.5)是无序的。
      • 字典在3.6x会按照初次建立字典的顺序排列,学术上不认为是有序的。
      • 字典在3.7x版本以后都是有序的。
      • 字典的优点:查询速度非常快,存储关联性数据。
      • 字典的缺点:以空间换时间。
    • 字典的创建方式:
      1. dic=dict(((\'one\',1),(\'two\',2),(\'three\',3))),此方式利用了元组的拆包
      2. dic=dict(one=1,two=2,three=3),输入键值对的方式
      3. dict=dict({\'one\':1,\'two\':2,\'three\':3}),官方写法
  2. 字典的使用(增删改查)
    • 增:
      1. dic[\'sex\']=男,直接增加,若键已经存在,则相当于改操作,有则改之,无则增加
      2. dic.setdefault(),使用此方法,若键已经存在则不进行任何操作若键不存在则增加操作
        • dic.setdefault("hoby"),增加一个键为"hoby",值为"None",
        • dic.setdefault("hoby","打球"),增加一个键为"hoby",值为"打球",
    • 删:
      • dic.pop(\'key\',"没有此键"),删除dic字典中键为key的键值对,按照键删除字典中的元素,删除成功返回的是删除的键值对中的值,若删除失败(没有"key"这个键),则返回的是第二个参数
      • del dic[\'key\'],同无返回值的pop()方法,故,不用记
      • dic.clear(),清空字典dic中的内容
    • 改:
      • dic[\'key\']=\'newstr\',将字典dic中键为key的值修改为"newstr"
    • 查:
      • a=dic[\'key\'],得到dic字典中键为key的值,若没有此键会报错
      • a=dic.get(\'key\'),得到dic字典中键为key的值,若没有此键不会报错
      • a=dic.get(\'key\',\'没有此键\'),得到dic字典中键为key的值,若没有此键会返回第二个参数,类似pop
      • dic.keys(),取出字典dic中所有的键放到一个特殊数据类型中,并且此数据类型可以进行迭代(暂理解为列表),此数据类型不能使用索引,并且可以转化成列表,list(dic.keys()),还可以遍历循环它
      • dic.values(),取出字典dic中所有的值放到一个特殊数据类型中,其余同上
      • dic.items(),取出字典dic中所有的键,值放到一个特殊数据类型中,每个元素又是一个单独的元组,可利用解包分别赋值从而取出键和值
  3. 字典的嵌套
    • 字典里面放字典
  4. 补充
    • 数据类型的分类(可变与不可变)
      • 可变的(不可哈希)数据类型:list、dict、set
        • 对原数据可以进行改变,如list的append()方法
      • 不可变的(可哈希)数据类型:str、bool、int、tuple
        • 不可操控原来的数据,只能生成新的数据,如str的upper()方法

以上是关于七天学会Python基础-第二天1/1的主要内容,如果未能解决你的问题,请参考以下文章

七天学会Python基础-第七天3/3-自定义模块和random模块

七天学会Python基础-第六天1/1

程序老鸟C#学习:3天学会全部基础--第二天

ESC七天训练营(第二天)

「七天自制PHP框架」第二天:模型与数据库

python基础学习第七天