• 字典


    字典的初识:

    + why:
    	+ 列表可以存储大量数据.数据之间的关联性不强.
    	+ 列表的查询速度比较慢
    + what:容器形数据类型: dict
    + how:
    	+ 数据类型的分类:(可变与不可变)
    		+ 可变(不可哈希)的数据类型:list dict set  
    		+ 不可变(可哈希)的数据类型:str int bool 元组
    	+ 字典{}花括号,括起来,以键值对形式存取:
    		+ 键必须是不可变的数据类型:唯一的
    		+ 值可以是任意数据类型,对象.
    		+ 字典3.5版本之前(包括3.5)是无序的,字典3.6会按照初次建立字典的顺序排列学术上不认为是有序的.字典在3.7版本后有序的.
    		+ 字典的优点:查询速度非常快,存储关联性数据
    		+ 字典的缺点:以空间换时间(字典查询速度非常快的原因)
    + 字典的创建方式:
    	+ 方式一:dic = dic((("one",1),("two":2),("three":3)))
    	+ 方式二:dic = dict(one = 1,two = 2,three = 3)
    	+ 方式三:dic = dict({"one":1,"two":2,"three":3})
    

    字典的增删改查

    dic = {"name":"luyi","age":18}
    

    + dic["sex"] = "男"    直接增加,如果有的话就修改了
    + dic.setdefault("hobby") 增加key,如果无值则值为NONE
      dic.setdefault("hobby","天天") 有值则加
      总结: 有则不变,无则增加
    

    + pop 按照键删除键值对.返回值为key对应的值.
      dic.pop("age")
      按照key删除	
      dic.pop("dd","没用此键")
      设置字典中第二个参数,如果没用第一个键.则返回第二个参数
    + clear 清空字典内容
    + del dic[key]  按照键去删除
    

    + dic["name"] = "帅" 
    + update
    	dic.update(se = "rpg")   有则更改,无则增加(目测数字key不能用update)
    

    + dic([key])
    + get 
    li = dic.get("hobby")
    lt = dic.get("hobby","第二个为返回值")  第二个为返回值
    

    三个特殊的

    + keys 
    	dic.keys  列出字典中所有的键
    		li = dic.keys()
    		结果为:dict_keys(['name', 'age', 'hobby'])
    + vlaues
    	dic.values  列出字典中所有值
    + items(得到键值对)
    	 for key,value in dic.items():
     		print(key,value)可以得到列表所有的key 和value
    		name luyi
    		age 18
    		hobby ['天天', 'rpg']
    

    字典的嵌套

  • 相关阅读:
    机器学习经典聚类算法 —— k-均值算法(附python实现代码及数据集)
    机器学习经典分类算法 —— k-近邻算法(附python实现代码及数据集)
    linux进程间通信之消息队列
    Linux下的权限掩码umask
    AVL树的插入操作(旋转)图解
    二叉搜索树的插入与删除图解
    MySQL密码忘记之解决方法
    C++之类的构造函数,不得不学明白的重点
    C++编译器的函数名修饰规则
    递归和尾递归的比较,斐波那契
  • 原文地址:https://www.cnblogs.com/luyi84895838/p/10815809.html
Copyright © 2020-2023  润新知