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. 函数提升:当程序中遇到函数的声明时 ...
随机推荐
- 【洛谷P3917】异或序列
题目大意:给定一个长度为 N 的序列,每个位置有一个权值,求 \[\sum\limits_{1\le i\le j\le n}(a_i\oplus a_{i+1}...\oplus a_j)\] 的值 ...
- PHP开发APP接口之返回数据
首先说明一下客户端APP通信的格式 1.xml:扩展标记语言(1.用来标记数据,定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言,xml格式统一,跨平台和语言,非常适合数据传输和通信,早已 ...
- jmeter的介绍和使用二
三. 1.http的请求默认值 当一个项目有多个模块,他们的host都是一致的,为了不重复的写host或者当某一天host变了,只需要修改一个地方就好.比如下面的两个请求,可以把host分离出来,所以 ...
- centos 7 安装appache 服务器
一.安装Apache程序,一般有三种安装方式:1.直接网络安装:2.下载rpm包,上传至服务器进行安装:3.通过原代码编译安装: yum -y install httpd rpm -qa | grep ...
- 114. Flatten Binary Tree to Linked List(M)
. Flatten Binary Tree to Linked List Given a binary tree, flatten it to a linked list in-place. For ...
- redis的使用场景和基本数据类型
一:redis使用的场景 redis是一个高性能的NoSQL数据库,特点是高性能,持久存储,适应高并发的应用场景. 下面看看它的使用场景1.取最新N个数据的操作比如取网站的最新文章,通过下面方式,我们 ...
- bzoj2957 奥妙重重的线段树
https://www.lydsy.com/JudgeOnline/problem.php?id=2957 线段树的query和update竟然还可以结合起来用! 题意:小A的楼房外有一大片施工工地, ...
- springboot启动报错Failed to configure a DataSource
2018-11-21 19:43:12.076 WARN 5392 --- [ main] ConfigServletWebServerApplicationContext : Exception e ...
- data_type
import logging logger = logging.getLogger("simple_example") logger.setLevel(logging.DEBUG) ...
- 19.职责链模式(Chain of Responsibility Pattern)
19.职责链模式(Chain of Responsibility Pattern)