字典和枚举
最编程
2024-04-22 10:59:25
...
字典
为什么要有字典
列表可以存储大量数据.数据之间的关联性不强.
列表的查询速度比较慢(~据说相差不大。在大数据情况下母鸡)
什么是字典数据类型
字典{}花括号,括起来,以键值对形式存取:
- 键必须是不可变的数据类型:唯一的
- 值可以是任意数据类型,对象.
- 字典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")
设置如果没有删除对象时的返回值
dic.pop("dd","没有此键")
设置字典中第二个参数,如果没有第一个键.则返回第二个参数
改:
dic["name"] = "帅"
update
dic.update(se = "rpg") 有则更改,无则增加(目测数字key不能用update)
查:
get
li = dic.get("hobby")
lt = dic.get("hobby","第二个为返回值") 第二个为返回值
dic['键'] 也可以查询
三个字典的特殊方法
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']
字典的嵌套
dic={'s':{'s':'a'}}
可以无限嵌套
枚举
li = ["a","b","c"]
for i in enumerate(li):
print(i)
--->
(0, 'a')
(1, 'b')
(2, 'c')
将可迭代类型的索引及其对应的元素返回。拆包和字典恰当使用有妙用
原文地址:https://www.cnblogs.com/luyi84895838/p/11725096.html
上一篇: 基于前序遍历的无递归树状结构数据库表设计
下一篇: 枚举类
推荐阅读
-
python 如何进行物理计算和模拟
-
全面了解格林尼治标准时间、世界协调时、时区和夏令时
-
CST、CET、UTC、GMT、DST、Unix 时间戳 几种常用时间的概述和关系 (跨时)
-
PHP 中日期和 gmdate 与默认时区设置的区别_php 技能
-
☕ 【Java 技术指南】"Java8 编程主题",让您真正会使用新版 Java 日期和时间 API 编程指南
-
几种 MySQL 引擎的差异和应用场景汇总
-
Java 编程问题:III.使用日期和时间
-
设计模式 - 适配器、装饰和外观模式 - 3 种外观模式
-
GMT、UTC、DST 和 CST 时区的含义
-
全面了解格林尼治标准时间、世界协调时、时区和夏令时