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. 函数提升:当程序中遇到函数的声明时 ...
随机推荐
- 【洛谷P1198】最大数
题目大意:在线维护一个序列,支持插入一个数,查询区间最值. 题解:直接建立线段树,插入就单点修改,查询就正常查..orz开始还真没想到.. 代码如下 #include <bits/stdc++. ...
- hdu5306 Explosion
题目链接 题意 有n个房间,每个房间里面有若干把钥匙,每把钥匙可以打开对应的一扇门.如果手中没有钥匙,就要随机轰炸一个房间来打开这个房间.如果有钥匙,就要去打开这些房间.问期望轰炸次数是多少. 思路 ...
- 在Linux中复制文件夹下的全部文件到另外文件夹
https://jingyan.baidu.com/article/656db918f83c0de380249c5a.html 在Linux系统中复制或拷贝文件我们可以用cp或者copy命令,但要对一 ...
- host访问goole
https://laod.cn/hosts/2016-google-hosts.html http://whosmall.com/?post=148
- PHP工厂方法模式
此模式中,通过定义一个抽象的核心工厂类,并定义创建产品对象的接口,创建具体产品实例的工作延迟到其工厂子类去完成.这样做的好处是核心类只关注工厂类的接口定义,而具体的产品实例交给具体的工厂子类去创建.当 ...
- iis8.0 https配置教程
打开iis>选择左侧根>点击右侧服务器证书 打开界面后 空白处点击右键选择导入 成功导入证书 选择需要绑定证书的网站点击选择>编辑绑定>ssl证书请选择您导入的证书 点击SSL ...
- java 中二维数组的定义和遍历
定义格式 * a 第一种定义格式: * int[][] arr = new int[3][4];// arr里面包含3个数组 每个数组里面有四个元素 * 上面的代码相当于定义了一个3*4的二维数组,即 ...
- 机器学习-随机梯度下降(Stochastic gradient descent)
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...
- linux crontab定时任务不执行
如crontab 没有成功,检测crontab 服务是否启动, /etc/init.d/crond status 查看crond状态 /etc/init.d/crond restart 重启crond ...
- HDFS-JavaAPI
一.pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...