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 ...
随机推荐
- laravel装饰者模式例子
interface Decorator{ public function display(); } class XiaoFang implements Decorator { private $nam ...
- vue导航条选中项样式
html: <div id="app"> <div class="collection"> <a href="#!&qu ...
- Kindle电子书制作
text.html: <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv=& ...
- P1919 【模板】A*B Problem升级版 /// FFT模板
题目大意: 给定l,输入两个位数为l的数A B 输出两者的乘积 FFT讲解 这个讲解蛮好的 就是讲解里面贴的模板是错误的 struct cpx { double x,y; cpx(double _x= ...
- selenium基础(生成测试报告)
测试报告 生成HTML测试报告 下载HTMLTestRunner.py包 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 下载后,把H ...
- SQL语句的四种连接
SQL的四种连接查询 内连接 inner join 或者 join 外连接 左连接 left join 或者 left outer join 右连接 right join 或者 right ou ...
- Powerdesigner 生成数据字典
https://www.jianshu.com/p/f491d0d3c503http://blog.csdn.net/adparking/article/details/50402980http:// ...
- 转载别人的ftp,觉得目录结构不错,学习
开发简单的FTP:1. 用户登陆2. 上传/下载文件3. 不同用户家目录不同4. 查看当前目录下文件5. 充分使用面向对象知识 REDMAE 1 用户登陆 2 3 1.查看用户目录文件 4 2.上传文 ...
- thinkphp 快捷查询
快捷查询方式是一种多字段查询的简化写法,可以进一步简化查询条件的写法,在多个字段之间用|分割表示OR查询,用&分割表示AND查询,可以实现下面的查询,例如: 大理石平台价格 一.不同字段相同的 ...
- Ubuntu usb设备端口号绑定
1.将串口设备插入USB口,通过lsusb查看端口信息.例如: ID 1a86:7523 表示usb设备的ID(这个ID由芯片制造商设置,可以唯一表示该设备) 1a86 usb_device_desc ...