字典:采用键值对存储数据的数据类型,字典的键必须是不可变的数据类型

补充:

不可变(可哈希)数据类型:str,bool,int,tuple

可变(不可哈希)数据类型:list,  dict, set

对str的所有操作都是产生一个新字符串,并没有改变原字符串的内容

哈希:是把元素通过hash算法变成内存地址

容器型数据类型:list, tuple,dict,set

容器型数据类型:str,bool,int,float

1、增

# 用键来添加,有键则覆盖,无键则添加
dic = {'name': 'rock', 'age': 22, 'gender': 'male'}
dic['height'] = 170
print(dic) # dic.setdefault()添加,有键则不加,无键则添加
dic.setdefault('height', 175)
print(dic)

2、删

# dic.pop() 按 键 删,有键则返回该键的value,无键则需设置返回值
print(dic.pop('gender')) # 有返回值返回对应的value值
print(dic) print(dic.pop('height', '没有此键'))
print(dic) # dic.popitem() 3.5版本之前随机删除字典中的元素,3.5之后只删除最后一个元素
dic.popitem()
print(dic) # 清空字典
print(dic.clear())
print(dic) # 按 键删
del dic['age']
print(dic) del dic # 直接在内存中删除字典
print(dic)

3、改

# 将dic的键值对覆盖到dic中,dic1中有键覆盖,无键添加
dic1 = {'name': 'chen', 'height': 175}
dic1.update(dic)
print(dic1)
print(dic) dic.update(name='chen') # 有键则覆盖
print(dic) dic.update(height=170) # 无键则添加
print(dic)

4、查

# 直接按键查
print(dic['name']) # 用get()键查
print(dic.get('name'))

5、fromkeys生成字典  注意值如果是可变的数据类型,那么所有的值都是一个内存地址

dic = dict.fromkeys('age', '')
print(dic) d = dict.fromkeys(['name', 'age'], 'rock')
print(d)

# for 循环查, dic.values(), dic.keys(),dic.items()

d1 = {'name': 'rock'}
d1.update(age=20)
s = d1.items()
print(s, type(s)) for i in s:
print(i) d3 = dict(s)
print(d3)

用dict和zip生成字典

keys = ['a', 'b', 'c']
values = [1, 2, 3]
dictionary = dict(zip(keys, values))
print (dictionary)

python字典的基本操作,以及可变数据类型和不可变数据类型的区分的更多相关文章

  1. Python 字典(Dictionary) 基本操作

    Python字典是一种可变容器模型,可存储任意类型对象:如字符串.数字.元组等.它以键值对(key-value)的形式存在,因此相当于Hashmap在python中的实现. §1. 创建字典  字典由 ...

  2. Python: 字典的基本操作

    字典是Python里唯一的映射类型.字典是可变的.无序的.大小可变的键值映射,有时候也称为散列表或关联数组. 例子在下面: dic = {"apple":2, "oran ...

  3. python字典的基本操作

    字典的基本方法 什么是字典: 字典是一种 key - value的数据类型,听alex说就像我们上学用的字典,通过笔划,字母来查找对饮页面的详细内容. 语法: id_dict = { 'stu1101 ...

  4. 【笔记】Python基础一 :变量,控制结构,运算符及数据类型之数字,字符串,列表,元组,字典

    一,开发语言介绍 高级语言:Java,C#,Python  ==>产生字节码 低级语言:C,汇编                   ==>产生机器码 高级语言开发效率高,低级语言运行效率 ...

  5. python基础之可变数据类型与不可变数据类型

    一.什么可变数据类型和不可变数据类型 可变数据类型:value值改变,id值不变:不可变数据类型:value值改变,id值也随之改变. 二.如何确定一种数据类型是可变的还是不可变的 根据可变数据类型与 ...

  6. python的可变数据类型和不可变类型

    python里面一切皆对象 ython的每个对象都分为可变类型和不可变类型 整形,浮点型,字符串,元组属于不可变类型,列表,字典是可变类型 不可变数据类型 对不可变类型的变量重新赋值,实际上是重新创建 ...

  7. 一道问题引出的python中可变数据类型与不可变数据类型

    一. 问题的提出 我们先来看两个对比 第一道题,当对象为整数时,最终结果:b = 2, a = 1,b的变化没有引起a的变化 a = 1 b = a b += 1 print(a) print(b) ...

  8. python 可变数据类型和不可变数据类型(7)

    python数据类型分别有整数int / 浮点数float / 布尔值bool / 元组tuple / 列表list / 字典dict,其中数据类型分为两个大类,一种是可变数据类型:一种是不可变数据类 ...

  9. python字典的常用操作,数据类型划分

    一.数据类型划分之一 可分为:可变数据类型,不可变数据类型 不可变数据类型:元祖,布尔值(Bool),数值 int ,字符串 str               可哈希 可变数据类型:  list,d ...

随机推荐

  1. .NETFramework-Web.Mvc:HttpXxxAttribute-目录

    ylbtech-.NETFramework-Web.Mvc:HttpXxxAttribute-目录 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返 ...

  2. shiro real的理解,密码匹配等

    1 .定义实体及关系 即用户-角色之间是多对多关系,角色-权限之间是多对多关系:且用户和权限之间通过角色建立关系:在系统中验证时通过权限验证,角色只是权限集合,即所谓的显示角色:其实权限应该对应到资源 ...

  3. UVA 12412 A Typical Homework (a.k.a Shi Xiong Bang Bang Mang)

    题目链接:https://vjudge.net/problem/UVA-12412 题目大意 略. 分析 比较大规模的模拟,注意输入输出,浮点数精度,还有排名相同的输出顺序,还有一些边界情况处理. 代 ...

  4. PostMan授权认证使用

    Authorization 对于很多应用,出于安全考虑我们的接口并不希望对外公开.这个时候就需要使用授权(Authorization)机制. 授权过程验证您是否具有访问服务器所需数据的权限. 当发送请 ...

  5. P1020 导弹拦截 /// DP Dilworth定理 LIS、LDS优化

    题目大意: https://www.luogu.org/problemnew/show/P1020 Dliworth有两个互相对偶的定理:U的链划分使用的最少集合数,等于它的最大反链长度.(1)U的反 ...

  6. 面试系列16 redis的持久化

    1.RDB和AOF两种持久化机制的介绍 RDB持久化机制,对redis中的数据执行周期性的持久化 AOF机制对每条写入命令作为日志,以append-only的模式写入一个日志文件中,在redis重启的 ...

  7. vue表格之tableHeaderColor(修改表头背景色)

    <el-table :header-cell-style="tableHeaderColor"></el-table> // 更改表头样式 tableHea ...

  8. 2、Zookeeper原理及应用汇总

    1 Zookeeper简介-分布式服务框架 ZooKeeper为分布式应用程序提供高效且可靠的分布式协调服务,提供的服务:配置管理.统一命名服务.分布式同步.组服务等,是Google Chubby的开 ...

  9. vue 图片懒加载v-lazy

    搬运自:https://blog.csdn.net/twodogya/article/details/80223331 vue v-lazy官方API:https://www.npmjs.com/pa ...

  10. 五. Arrow Function 箭头函数

    箭头函数三大好处: 1. 简明的语法 举例: 如果只有一个参数,可以不加(),多个参数用 "," 隔开 2. 隐式返回 首先说下什么是显示返回,显示返回就是 return 加上你要 ...