python字典的基本操作,以及可变数据类型和不可变数据类型的区分
字典:采用键值对存储数据的数据类型,字典的键必须是不可变的数据类型
补充:
不可变(可哈希)数据类型: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字典的基本操作,以及可变数据类型和不可变数据类型的区分的更多相关文章
- Python 字典(Dictionary) 基本操作
Python字典是一种可变容器模型,可存储任意类型对象:如字符串.数字.元组等.它以键值对(key-value)的形式存在,因此相当于Hashmap在python中的实现. §1. 创建字典 字典由 ...
- Python: 字典的基本操作
字典是Python里唯一的映射类型.字典是可变的.无序的.大小可变的键值映射,有时候也称为散列表或关联数组. 例子在下面: dic = {"apple":2, "oran ...
- python字典的基本操作
字典的基本方法 什么是字典: 字典是一种 key - value的数据类型,听alex说就像我们上学用的字典,通过笔划,字母来查找对饮页面的详细内容. 语法: id_dict = { 'stu1101 ...
- 【笔记】Python基础一 :变量,控制结构,运算符及数据类型之数字,字符串,列表,元组,字典
一,开发语言介绍 高级语言:Java,C#,Python ==>产生字节码 低级语言:C,汇编 ==>产生机器码 高级语言开发效率高,低级语言运行效率 ...
- python基础之可变数据类型与不可变数据类型
一.什么可变数据类型和不可变数据类型 可变数据类型:value值改变,id值不变:不可变数据类型:value值改变,id值也随之改变. 二.如何确定一种数据类型是可变的还是不可变的 根据可变数据类型与 ...
- python的可变数据类型和不可变类型
python里面一切皆对象 ython的每个对象都分为可变类型和不可变类型 整形,浮点型,字符串,元组属于不可变类型,列表,字典是可变类型 不可变数据类型 对不可变类型的变量重新赋值,实际上是重新创建 ...
- 一道问题引出的python中可变数据类型与不可变数据类型
一. 问题的提出 我们先来看两个对比 第一道题,当对象为整数时,最终结果:b = 2, a = 1,b的变化没有引起a的变化 a = 1 b = a b += 1 print(a) print(b) ...
- python 可变数据类型和不可变数据类型(7)
python数据类型分别有整数int / 浮点数float / 布尔值bool / 元组tuple / 列表list / 字典dict,其中数据类型分为两个大类,一种是可变数据类型:一种是不可变数据类 ...
- python字典的常用操作,数据类型划分
一.数据类型划分之一 可分为:可变数据类型,不可变数据类型 不可变数据类型:元祖,布尔值(Bool),数值 int ,字符串 str 可哈希 可变数据类型: list,d ...
随机推荐
- 伪造ip头
x-forwarded-for: 127.0.0.1x-remote-IP: 127.0.0.1x-remote-ip: 127.0.0.1x-client-ip: 127.0.0.1x-client ...
- PAT甲级——A1114 Family Property【25】
This time, you are supposed to help us collect the data for family-owned property. Given each person ...
- MybatisPlus联合分页查询
跟单表分页查询差不多 1.编写查询语句 public interface QuestionMapper extends BaseMapper<Question> { @Select(&qu ...
- 4_6.springboot2.xWeb开发之错误处理机制
1.SpringBoot默认的错误处理机制 默认效果:1).浏览器,返回一个默认的错误页面 浏览器发送请求的请求头: 2).如果是其他客户端,默认响应一个json数据 原理: 默认情况下,Sp ...
- java-day07
API 应用程序编程接口 Scanner类 将键盘输入的数据到程序中 1.导包 2.创建 Scanner 对象名 = new Scanner(); 3.使用 int num = 对象名.nextInt ...
- 3.在vm上安装centos 7
在vm上安装centos 7 1.文件 → 新建虚拟机 3.选择安装Linux系统 4. 虚拟机命名,并选择安装的文件夹 5.选择分配的处理器 6.使用网络地址转换 7.默写选项 9.新建虚拟机 10 ...
- c#窗体开发
奇: 常用控件的使用(期间参杂着VS快捷键/常用设置) 快捷键:引用命名空间:shift+alt+F10 断点:F9 调试:F5 逐句调试(每行代码一次跳转):F11 逐过程调试:F10 重构提取方法 ...
- JS获取url参数,修改url参数
function getURL(){ var args = {}; var query = location.search.substring(1); //获得了当前链接的中?号后的参数 var pa ...
- Caffe系列3——制作Hdf5数据源详细教程(手把手教你制作Hdf5数据源)
制作Hdf5数据源详细教程
- MATLAB 去掉数组里面不要的元素
trainfinger=1 testingfinger=(1:8); testingfinger = testingfinger(~ismember(testingfinger,trainfinger ...