基本数据类型 字典 dict
今日内容
一.字典 dict
======================================基本使用======================================
1、用途:记录多个不同属性的值 2、定义方式:在{}内用逗号分隔开多个元素,每一个元素都是key:value的形式,其中value可以是任意类型,
而key必须是不可变的类型(通常应该是str类型)
# dic={1:'aaa',1.3:'bbc',(1,2,3):'ccc','xxx':'ddd'} #dic=dict(...)
# dic={'x':1,'x':2,'x':3}
# print(dic) 数据类型转换:dict
li=(['name','egon'],('age',18),('gender','male')) dic={}
for k,v in li: #k,v=('name','egon')
dic[k]=v dic=dict(li)
print(dic) dic=dict(x=1,y=2,z=3)
print(dic) 3、常用操作+内置的方法
优先掌握的操作:
1、按key存取值:可存可取
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
print(dic['name'])
print(id(dic))
dic['name']='EGON'
print(dic,id(dic)) dic['height']=1.81 # 如果key不存在则新增一组key:value
print(dic) 2、长度len
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
print(len(dic)) 3、成员运算in和not in
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
print('name' in dic) 4、删除
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
del dic['name']
print(dic) t=dic.popitem() # popitem 是随机删除,也有返回值
print(t,type(t)) v=dic.pop('name') # pop 可以指定删除,但是会有一个返回值
print(v) 5、键keys(),值values(),键值对items()
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
在python2中体现出来的
>>> dic={'name': 'egon', 'age': 18, 'gender': 'male'}
>>> dic.keys()
['gender', 'age', 'name']
>>> dic.values()
['male', 18, 'egon']
>>> dic.items()
[('gender', 'male'), ('age', 18), ('name', 'egon')] keys=dic.keys()
vals=dic.values()
items=dic.items() print(keys)
print(vals)
print(items) print(list(keys))
print(list(vals))
print(list(items)) 6、循环
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
for k in dic.keys():
print(k) for k in dic:
print(k) for v in dic.values():
print(v) for k,v in dic.items():
print(k,v) 7. get取值
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
if 'xxx' in dic:
print(dic['xxx'])
else:
print(None) v=dic.get('xxx')
print(v) 3.2 需要掌握的操作
dic.fromkeys()
li=['name','age','gender'] dic={}
for k in li:
dic[k]=None
print(dic) dic={}.fromkeys(li,None)
print(dic) dic={'k1':1}.fromkeys(li,None)
print(dic) dic={}.fromkeys('hello',)
print(dic) keys=['name','age','gender']
vals=['egon',18,'male'] dic={}.fromkeys(keys,vals)
print(dic) keys=['name','age','gender']
vals=['egon',18,'male'] dic={}
for i in range(len(keys)):
k=keys[i]
v=vals[i]
dic[k]=v print(dic) dic.update() 更新,原字典中没有的补上,原字典中有更新,把更新的换上
old_dic={'name': 'egon', 'age': 18, 'gender': 'male'}
new_dic={'x':1,'name':'EGON'}
old_dic.update(new_dic)
print(old_dic) v=dic.setdefault('height',1.81) # 字典中没有'height'这个键,则新增
print(dic)
print(v) v=dic.setdefault('name','EGON') # 字典中有'name'这个键,不修改字典
print(dic)
print(v) setdefault的原理分析:
k='name'
v='EGON'
if k not in dic:
dic[k]=v print(dic) ======================================该类型总结====================================
存多个值 无序 可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash)
基本数据类型 字典 dict的更多相关文章
- 自学Python2.4-基本数据类型-字典dict(objct)
Python dict方法总结 一.字典介绍 1.字典概述 ①字典是python中唯一内建的映射类型.又称关联数组或散列②映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关 ...
- python全栈开发笔记---------数据类型-----字典dict
字典 #dict #1.基本结构 info= { "k1" : "v1", #键值对 "k2" : "v2" } ### ...
- python数据类型:字典dict常用操作
字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存的: Key: 不可变(可哈希)的数据类型.并且键是唯一的,不重复的. Value:任意数据(int,str,boo ...
- Python基础数据类型-字典(dict)
Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...
- Python基础数据类型(五) dict字典
字典dict{} 字典数字自动排序 enumerate 枚举 for i,k in enumerate(dic,1) #第二个参数默认不写就是0 ---枚举 print(i,k) dict,以{}来表 ...
- python数据类型:dict(字典)
一.字典的简单介绍 字典(dict)是python中唯一的一个映射类型.他是以{}括起来的键值对组成. 语法: {key1:value1,key2:value2......} 注意:key必须是不可变 ...
- Python基本数据类型之字典dict
字典dict 是一个键(key)值(value)对,结构为{},大括号 创建字典 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 info = { # k ...
- Python中的元组(tuple)、列表(list)、字典(dict)
-------------------------------更新中-------------------------------------- 元组(tuple): 元组常用小括号表示,即:(),元 ...
- python中的字典(dict),列表(list),元组(tuple)
一,List:列表 python内置的一种数据类型是列表:list.list是一种有序的数据集合,可以随意的添加和删除其中的数据.比如列出班里所有的同学的名字,列出所有工厂员工的工号等都是可以用到列表 ...
随机推荐
- 如何在JSP中获得Cookie对象
Cookie cookies[]=request.getCookies(); //读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面 Cookie sCookie=n ...
- 在上线项目中,用Vue写一个星级评价
先看一下效果: html: <div class="big-star-box"> <img :src="imgNum>0 ? srcStar : ...
- 【DFS】求水洼的数目
题目: 有一个大小为 N*M 的园子,雨后积起了水.八连通的积水被认为是连接在一起的.请求出园子里总共有多少水洼?(八连通指的是下图中相对 W 的*的部分) *** *W* *** 限制条件:N, M ...
- PCD文件格式详解及在PCL下读取PCD文件
一.PCD简介 1.1 PCD版本 在点云库PCL 1.0发布之前,PCD文件格式就已经发展更新了许多版本.这些新旧不同的版本用PCD_Vx来编号(例如PCD_V5.PCD_V6和PCD_V7等),分 ...
- 【dotNet Core】Swagger下简单的给WebApi分组
Startup.cs下ConfigureServices代码 这里主要在DocInclusionPredicate控制输出那些api. Startup.cs下Configure代码 给Controll ...
- python网络-Socket之udp编程(24)
一.udp简介 udp --- 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议. udp不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地. udp在 ...
- JavaScript 正则表达式全面总结
本文适合有 JavaScript 基础 && 面向搜索引擎书写正则的人群. 正则表达式是用于匹配字符串中字符组合的模式.正则表达式的模式规则是由一个字符序列组成的.包括所有字母和数字在 ...
- zookeeper实现项目初始化缓存以及同步监听
Spring-利用InitializingBean接口和zookeeper实现项目初始化缓存以及同步监听 1.先贴出几个需要用到的工具类 ZkClientUtils import com.ithzk. ...
- MySQL查看表占用空间大小
需求:我们在选购服务器硬盘时,通常需要先估算一下数据量.比如我们现在做的项目,百万级用户,然后在现有的数据结构中插入一万条数据,然后根据相应的需求去计算出实际生产中的数据量. 前言:在mysql中有一 ...
- springBoot(12)---整合Swagger2
Spingboot整合Swagger2 随着互联网技术的发展,一般开发都是前后端分离,那么前端和后端的唯一联系,变成了API接口:API文档变成了前后端开发人员联系的纽带,变得越来越重要,没有API ...