python 的基础 学习 第六天 基础数据类型的操作方法 字典
1,字典
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。
字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典所有的操作都是通过键 key操作的
1,增
第一种,[ ]有则覆盖,无则添加。
dic={'name':'gonn','jin':'jilo'}
dic['hobby']='girl'
dic['name'] ='jinxin'
print(dic)
第二种,setdefault,无则添加,有则不变
dic={'name':'gonn','jin':'jilo'}
dic.setdefault('hobby','girl')
dic.setdefault('name','li')
print(dic)
2,删除,pop,,,clear,,del
dic={'name':'gonn','jin':'jilo'}
print(dic.pop('jo',None))#删除都是通过键删除,有返回值
#打印你返回你设定的值,如果没有这个键会报错。一般加 None
print(dic)
dic={'name':'gonn','jin':'jilo'}
print(dic.popitem())#随机删除
dic={'name':'gonn','jin':'jilo'}
#dic.clear()#清空列表
#del dic#清空列表
del dic['name']#通过键删除
print(dic)
3,改
dic = {'name':'yu','age':''}
# dic['name']='jinjin'
dic1 = {'ww':'nami','lll':'ee'}
dic.update(dic1)#将dic1的键值对添加到dic
print(dic)
4,查
通过键查
dic={'name':'gonn','jin':'jilo'}
# print(dic['name'])
# print(dic.get('name'))
print(dic.get('yu'))#单个查询用get,没有返回None,也可以设置
5,其他方法,keys, values, items
keys把所有的键放在一个类似列表中。
values把所有的值放在一个类似列表中。
items把所有的键值放在一个类似列表中
dic={'name':'gonn','jin':'jilo'}
for i in dic.keys():
for i in dic.values():
for i in dic.items():
print(i)
特殊类型dict转换成 list print(list(keys()))
6,分别赋值
a=4
b=5
a,b=b,a
print(a,b)
dic={'name':'gonn','jin':'jilo'}
for a,b in dic.items():
print(a,b)#a,b分别赋值
补全如下代码 li = [11,22,33,44,55,77,88,99,90],把大于66的放进key1中,把小于66的放进key2中
result = {}
for row in li:
li = [11,22,33,44,55,77,88,99,90]
result = {}
for row in li:
if row >66:
if 'key1'not in result:
result['key1'] = []
result['key1'].append(row)
if row <66:
if 'key2'not in result:
result['key2']= []
result['key2'].append(row)
print(result)
python 的基础 学习 第六天 基础数据类型的操作方法 字典的更多相关文章
- Python基础学习Day7 基础数据类型的扩展 集合 深浅copy
一.基础数据类型的扩展 1.1GBK ---> UTF - 8 # str --->bytes s1 = '太白' # 字符串是unicode编码 b1 = s1.encode('gbk' ...
- python基础学习第六天
import os #文件读写 不用自动关闭with open('test.txt','r') as f: #一次性读取所有 data = f.read() #print(data)print('-- ...
- python 的基础 学习 第八天数据类型的补充 ,集合和深浅copy
1,数据类型的补充: 元组()tuple,如果只有元素,并且没有逗号,此元素是什么数据类型,该表达式就是什么数据类型. tu = ('rwr') print(tu,type(tu)) tu = ('r ...
- Python基础学习参考(七):字典和集合
一.字典 字典跟列表一样是一组数据的集合.它的特点是什么呢? 特点一:字典具有键(key)和值(value),其中键必须是唯一的,不可重复的,即键必须可以哈希的.对于值没有要求. 特点二:字典是无序的 ...
- Python基础学习笔记(八)常用字典内置函数和方法
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-dictionary.html 3. http://www.lia ...
- 【类与对象】--------java基础学习第六天
类与对象 1. 对于面向对象的开发来讲也分为三个过程: OOA(面向对象分析) OOD(面向对象设计) OOP(面向对象编程) 2. 面向对象的基本特征 2.1. 封装:保护内部操作(属性,方法)不被 ...
- python基础学习1-列表推导式和字典推导式
#!/usr/bin/env python # -*- coding:utf-8 -*- #列表推导式 取得100内可以被2整除且不能被3整除的数字 a=[i for i in range(100) ...
- Python基础学习四 列表、元组、字典、集合
列表list,用中括号“[ ]”表示 1.任意对象的有序集合 列表是一组任意类型的值,按照一定顺序组合而成的 2.通过偏移读取 组成列表的值叫做元素(Elements).每一个元素被标识一个索引,第一 ...
- JavaScript基础学习第六天
目标: 能够使用对象的方式处理数据 ☞ 代码预解析: 1. 变量提升 :当程序中遇到定义变量后,就会将该变量的定义提升到当前作用域的开始位置,不包括变量的赋值 2. 函数提升:当程序中遇到函数的声明时 ...
随机推荐
- 【CF1042D】Petya and Array 离散化+树状数组
题目大意:给定一个长度为 N 的序列,给定常数 t,求有多少个区间 [l,r] 满足 \(\sum\limits_{i=l}^{r}a_i<t\). 题解:先跑一边前缀和,问题等价于求有多少个数 ...
- 如何测试连接MsSQL数据库-------UDL文件
http://www.xinnet.com/service/cjwt/idc/sjk/1360.html 如果您所使用的 SQL Server 数据库连不上,可以通过这个方法进行测试数据库连接. 温馨 ...
- 函数后面的const修饰符的作用
比如 void Fun() const; 的const是修饰什么的? 其实是修饰this指向的对象的. 这篇文章很详细的说明了const的作用,其中第三点说明了这种const的作用:const的用法, ...
- 记cccc天梯赛第三届决赛
首先我很想知道,为什么我没有参加初赛,就可以去决赛,这个究竟有没有初赛,这真是未解之谜. 其次,会长说得不错,菜是原罪.不知道这次的表现能不能把我送去湘潭挑战赛.... 我身边 ...
- jquery 前端 跨域 jsonp
1.jsonp 支持get:可以跨域: 2.java 在controller中增加header: /** * 获取用户信息 */ @ResponseBody @RequestMapping(value ...
- 高级组件——进度条 JProgressBar
JProgressBar pro=new JProgressBar(); pro.setIndeterminate(boolean); 设置不确定性 false,确定的进度条(显示进度, ...
- HTML学习笔记Day1
一.网站建设流程 1.注册域名(网址) 2.租用空间(服务器) 3.网站建设 (1)确定网站主题(项目) (2)搜集材料(项目) (3)规划网站(UI) (4)制作页面(前端--后端) 4.网络推广 ...
- Luogu P4015 运输问题
题目链接 \(Click\) \(Here\) 继续颓网络流\(hhhhh\),虽然这次写的是个大水题,但是早上水一个网络流果然还是让人心情舒畅啊- 最大费用最大流不用非得反着费用建边.只要没有正环, ...
- org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].Standard
Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lan ...
- SpringBoot笔记十四:消息队列
目录 什么是消息队列 消息队列的作用 异步通信 应用解耦 流量削峰 RabbitMQ RabbitMQ流程简介 RabbitMQ的三种模式 安装RabbitMQ RabbitMQ交换器路由和队列的创建 ...