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

补充:

不可变(可哈希)数据类型: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. BIO 详解

    调用者主动等待调用的结果 简介 早期的jdk中,采用BIO通信模式: 通常有一个acceptor(消费者) 去负责监听客户端的连接. 它接收到客户端的连接请求之后为每个客户端创建一个线程进行链路处理, ...

  2. C++ 贪吃蛇一维

    #include <iostream> #include <conio.h> #include <windows.h> #include <time.h> ...

  3. 使用WebStorm上传本地项目到GitHub和GitLab

    在使用 WebStorm 上传本地项目到 GitHub 之前,先要做一些相关配置. 首先打开 WebStorm ,依次点击File -> Settings… 打开系统设置面板,在上面搜索 git ...

  4. Delphi编写后台监控软件

    Delphi编写后台监控软件         文章来源:Delphi程序员之家     后台监控软件,为了达到隐蔽监控的目的,应该满足正常运行时,不显示在任务栏上,在按Ctrl+Alt+Del出现的任 ...

  5. 实验室系统tomcat 6 java.lang.OutOfMemoryError: Java heap space

    java.lang.OutOfMemoryError: Java heap space

  6. shell 一些题目

    在a.log中精确查找含有msyql单词的行a.log文件内容如下: mysqlmysql mysqlmysql aa mysql_mysqla mysql b_mysql aa _mysqla _m ...

  7. 2019-8-31-win2d-通过-CanvasActiveLayer-画出透明度和裁剪

    title author date CreateTime categories win2d 通过 CanvasActiveLayer 画出透明度和裁剪 lindexi 2019-08-31 08:52 ...

  8. nodejs入门最简单例子

    一.mac话,先安装nodejs环境: brew install nodejs 二.先写一个main.js var http = require("http"); http.cre ...

  9. Matlab神经网络验证码识别

    本文,将会简述如何利用Matlab的强大功能,调用神经网络处理验证码的识别问题.  预备知识,Matlab基础编程,神经网络基础.  可以先看下: Matlab基础视频教程 Matlab经典教程--从 ...

  10. Android开发 MediaPlayer将视频播放时尺寸适配完美

    前言 视频播放有一个较为蛋疼的问题,那就是尺寸适配.如果不做尺寸适配视频将会变形拉伸或者压缩.下面我就介绍个人实现的算法. 满足一边的算法 满足一边?你可能是疑问是什么意思.意思是就是始终将视频的高度 ...