七天学会Python基础-第二天1/1
Posted double大博
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了七天学会Python基础-第二天1/1相关的知识,希望对你有一定的参考价值。
字典的学习
- 字典的初识
- 列表可以存储大量数据,但数据的关联性不强,且列表的查询速度较慢,因此有了字典
- 字典:{}括起来,以键值对的形式存储的容器型数据类型
- 字典的键必须是不可变的数据类型且是唯一的,一般最常用的就是int,str(bool和tuple几乎不用)
- 字典的值可以是任意数据类型,对象。
- 字典在3.5x版本之前(包括3.5)是无序的。
- 字典在3.6x会按照初次建立字典的顺序排列,学术上不认为是有序的。
- 字典在3.7x版本以后都是有序的。
- 字典的优点:查询速度非常快,存储关联性数据。
- 字典的缺点:以空间换时间。
- 字典的创建方式:
- dic=dict(((\'one\',1),(\'two\',2),(\'three\',3))),此方式利用了元组的拆包
- dic=dict(one=1,two=2,three=3),输入键值对的方式
- dict=dict({\'one\':1,\'two\':2,\'three\':3}),官方写法
- 字典的使用(增删改查)
- 增:
- dic[\'sex\']=男,直接增加,若键已经存在,则相当于改操作,有则改之,无则增加
- 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中所有的键,值放到一个特殊数据类型中,每个元素又是一个单独的元组,可利用解包分别赋值从而取出键和值
- 增:
- 字典的嵌套
- 字典里面放字典
- 补充
- 数据类型的分类(可变与不可变)
- 可变的(不可哈希)数据类型:list、dict、set
- 对原数据可以进行改变,如list的append()方法
- 不可变的(可哈希)数据类型:str、bool、int、tuple
- 不可操控原来的数据,只能生成新的数据,如str的upper()方法
- 可变的(不可哈希)数据类型:list、dict、set
- 数据类型的分类(可变与不可变)
以上是关于七天学会Python基础-第二天1/1的主要内容,如果未能解决你的问题,请参考以下文章