Python学习日记:day5-------dict字典
#字典dict-------》唯一的映射类型
1、数据类型的划分
数据类型划分为可变数据类型和不可变数据类型。
不可变数据类型:tupe(元组)、bool、int、str 可哈希
可变数据类型:list、dict、set(集合) 不可哈希
dict(key,value)中: key必须是不可变数据类型
value可以是任意数据类型
2、dict的优点及特点
优点:用二分查找去查询。存储大量的关系型数据
特点:无序(3.5版本及之前的版本特点)
3、dict类型的增删改查
dic1 ={'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
(1)增
1.dic['name'] = 值
dic1['high'] =185 print(dic1)
#结果为:{'sex': 'male', 'age': 18, 'name': 'jin', 'k': 'v', 'high': 185}
dic1.setdefault('weirht')#不写value的话,会默认为none print(dic1)
#结果为:
{'sex': 'male', 'age': 18, 'k': 'v', 'weirht': None, 'name': 'jin'}
dic1.setdefault('weirht',150) print(dic1)
#结果为:
{'weirht': 150, 'sex': 'male', 'name': 'jin', 'k': 'v', 'age': 18}
####如果增加的时候原来的dic有这个键值对,键值那么不做任何改变,没有才添加####
dic1内的元素会随机排列。
dic1 ={'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v','weirht':120} dic1.setdefault('weirht',150) print(dic1) #{'k': 'v', 'weirht': 120, 'name': 'jin', 'sex': 'male', 'age': 18}
(2)删
1.pop
dic1.pop('age') print(dic1)
#结果为:
{'k': 'v', 'weirht': 120, 'name': 'jin', 'sex': 'male'}
dic1 ={'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v','weirht':120} dic1.pop('二哥','none') print(dic1.pop('二哥','none')) print(dic1)
dic1 ={'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v','weirht':120} dic1_pop1 = dic1.popitem() # 随机删除字典中的某个键值对,将删除的键值对以元祖的形式返回 print(dic1_pop1) #('age', 18)
dic_clear = dic.clear() # 清空字典 print(dic,dic_clear) # {} None
del dic1["name"] # 没有返回值。 print(dic1)
(3)改
dic = {'name':'jin','age':18,'sex':'male'} dic2 = {'name':'alex','weirht':75} dic2.update(dic) print(dic) print(dic2)
dic:{'sex': 'male', 'name': 'jin', 'age': 18}
dic2:{'weirht': 75, 'sex': 'male', 'name': 'jin', 'age': 18}
(4)查
1.
print(dic1.keys()) 什么也不写默认打印键
print(dic1.values()) 打印值 print(dic1.items()) 打印键值对
2.for 结果:
for i in dic2: weirht
print(i) name
3.分别赋值
a,b = 1,2 print(a,b) #a =1 b =2
3.1 b =2用一行代码互换a,b的值(面试题)
a,b = 1,2
a,b = b ,a
print(a,b) #a,b =[1,2]
#print(a,b)----->[1,2]
3.2
a,b = [1,2],[3,4] print(a,b) #------>[1,2],[3,4]
v1 =dic1['name']#找出了对应的值 print(v1) #缺点如果没有对应的值会报错。
5.get
dic = {'name':'jin','age':18,'sex':'male'} value2 = dic.get("djffdsafg","没有返回值") # 没有,可以返回设定的返回值 print(value2)
(5)嵌套
dic={ 'name':['alex','wusir','taibai'], 'py9':{ ', 'learn_money':19800, 'address':'CBD' } 'age':21 } dic['age'] = 56 dic['name'].append('')
Python学习日记:day5-------dict字典的更多相关文章
- Python 学习日记(第三周)
知识回顾 在上一周的学习里,我学习了一些学习Python的基础知识下面先简短的回顾一些: 1Python的版本和和安装 Python的版本主要有2.x和3.x两个版本这两个版本在语法等方面有一定的区别 ...
- Python学习记录day5
title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...
- 【python学习笔记】4.字典:当索引不好用时
[python学习笔记]4.字典:当索引不好用时 字典是python中唯一内建的map类型 创建: key可以为任何不可改变的类型,包括内置类型,或者元组,字符串 通过大括号: phonebook={ ...
- Python学习日记 --day2
Python学习日记 --day2 1.格式化输出:% s d (%为占位符 s为字符串类型 d为数字类型) name = input('请输入姓名') age = int(input('请输入年龄 ...
- python学习日记(基础数据类型及其方法01)
数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...
- Python学习日记(三) 学习使用dict
数据按类型可划分为: 不可变数据类型(可哈希):元祖.string.int.bool 可变数据类型(不可哈希):dict.list 集合本身是可变数据类型,元素是不可变数据类型 字典中的key必须是不 ...
- Python学习日记day3:数据类型
1.数据类型int :如1.2.4等, 用于计算 bool: True , False ,用户判断 str: 储存少量数据,进行操作.如:'fdasklfjfladfl','而而噩噩','1234' ...
- Python学习日记(一):拜见小主——Python
近日学习Python,特将学习过程及一点心得记录于此. 由于之前做过一个Java爬虫的项目,虽然很长时间没有碰过爬虫,但是小郭同学有一颗不死的爬虫心,哈哈.最近在互联网上找一些电影的时候,有很多电影只 ...
- Python基础数据类型(五) dict字典
字典dict{} 字典数字自动排序 enumerate 枚举 for i,k in enumerate(dic,1) #第二个参数默认不写就是0 ---枚举 print(i,k) dict,以{}来表 ...
随机推荐
- app接入网易严选:webview注入js的几个坑
消费贷款app"一刻千金"接入网易严选总结 主要任务列表 隐藏相关元素 商品列表页跳转事件绑定 获取商品信息(skuid比较复杂) 隐藏元素 这部分没什么好讲的,使用原生js的do ...
- Drools文档(八) 规则语言参考
规则语言参考 概述 Drools有一个"本地"的规则语言.这种格式在标点符号上非常轻,并且通过"扩展器"支持自然语言和领域特定的语言,使语言能够变形到您的问题领 ...
- 十一、VueJs 填坑日记之使用Amaze ui调整列表和内容页面
上一篇博文我们整合了Amaze ui,并且调整了一个头部header和底部footer文件,其实做起来也很简单,只要按照步骤来做,完全没有问题.今天我们来重新调整一下列表页面和内容页面,使我们做的后台 ...
- 《Android源码设计模式》学习笔记之ImageLoader
微信公众号:CodingAndroid cnblog:http://www.cnblogs.com/angel88/ CSDN:http://blog.csdn.net/xinpengfei521 需 ...
- 【架构篇】OCP和依赖注入
描述 本篇文章主要讲解 : (1)OO设计OCP原则: (2)依赖注入引入 (3)依赖注入分析 (4)依赖注入种类 1 内容区 1.1 IOC背景 (1)Ralph E. Johnson &a ...
- python_day06(ip代理池)
from urllib.request import Request, ProxyHandler from urllib.request import build_opener from bs4 im ...
- VMware中克隆虚拟机出现eth0改变为eth1情况
解决如下: 查看复制虚拟机网卡信息如下: root@jcfx-2 ~]# ifconfig eth1 Link encap:Ethernet HWaddr 00:0C:29:CC:32:63 inet ...
- POJ 2828 Buy Tickets 线段树 倒序插入 节点空位预留(思路巧妙)
Buy Tickets Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 19725 Accepted: 9756 Desc ...
- centos7 无法启动网络(service network restart)错误解决办法
centos7 无法启动网络(service network restart)错误解决办法: (以下方法均为网上COPY,同时感谢原博主分享) systemctl status network.ser ...
- UWP 调用outlook邮箱反馈
public static async Task FeedbackAsync(string address, string subject, string body) { if (address == ...