Python入门--14--字典
基础知识:
0、python对值没有要求,但对key有些要求,必须是非变量(变量,列表,字典)
1、在列表中使用成员资格操作符,和在字典中使用成员资格操作符,后者会更快
2、fromkeys这个函数会生成一个新的字典,如果以前存在就会直接覆盖
3、字典拷贝:dict2=dict1.copy()
4、
一、创建一个字典
dict1={'李宁':'一起皆有可能','耐克',}
字典其实就是perl里面的哈希
元祖、列表都是序列类型,字典是映射类型
用[]的数据都叫列表,用{}的数据我们叫做字典,这句话对吗?
答:不对
xx={1,2,3,4,5}
type(xx) #输出的是<class 'set'>
创建字典有几种方式?
a=dict(one=1,two=2,three=3)
b={'one':1,'two':2,'three':3}
c=dict(zip(['one','two',three'],[1,2,3]))
d=dict([('two',2),('three',3),('one',1)])
e=dict({'three':3,'one':1,'two':2})
还有一个函数也可以
dict={}
dict.fromkeys((1,2,3),'shuzi') #会生成一个新的字典: {1: 'shuzi', 2: 'shuzi', 3: 'shuzi'}
字典用到的函数
key()、value()、item()
dict1=dict.fromkeys(range(32),'赞')
for each in dict1.keys():
print each
for each in dict1.values():
print each
for each in dict1.items():
print each
想看这个键有没有对应的值,又不想看到报错信息怎么办
dict.get(3)
dict.get(34) #括号里面是key的值,想查看那个就看那个,如果没有就返回None
还可以使用成员关系符号:in 和 not in 。来查看这个键是否在这个字典当中
举个栗子:
30 in dict1 #返回TRUE
33 in dict1 #返回FLASE
怎么清空一个字典? #clear
dict1.clear()
当然也可以这样:dict1={}
蛋是有下面这样的弊端:
dict1.fromkeys((1,2,3),'shuzi')
dict2=dict1
dict1={}
print dict2 #这里还是之前dict1的值 , 所以有些时候这种方法慎用
#用clear是两个字典全部清空
浅拷贝
a={1:'gg',2:'mm',3:'biantai'}
b=a.copy() #这就是浅拷贝
c=a #这只是在相同的数据上加上不同的标签
id(a) id(b) id(c) #第一个和第三个是一样的,id(b)跟他们不一样
#改变a的值后,c会变,b不会变
还有一些函数:
a.pop(3) #删除“3”这个键和值,并返回“3”对应的值
a.popitem() #删除最后一个键值对,因为字典是无序的,所以你也不知道会删除那个
a.setdefault(4) #增加一个键 蛋是这个键没有值
a.setdefault(5,'chengxuyuan') #有键有值了
最后一个:update #用一个字典更新另外一个
举个栗子就知道了
b={'ergou':'dog'}
a.update(b) #a就会添加b中的键值对
Python入门--14--字典的更多相关文章
- python入门14 字典dict
字典dict是无序的key:value格式的数据序列 #coding:utf-8 #/usr/bin/python """ 2018-11-11 dinghanhua 字 ...
- python入门之字典
1.字典的基本特征: key-value结构 key唯一,必须为不可变数据类型 value可以不唯一 无序 查找速度快 2.创建一个字典: info={“gaohui”:"IT", ...
- Python入门之字典的操作详解
这篇文章主要介绍了Python 字典(Dictionary)的详细操作方法,需要的朋友可以参考下: Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一 ...
- python入门学习:5.字典
python入门学习:5.字典 关键点:字典 5.1 使用字典5.2 遍历字典5.3 嵌套 5.1 使用字典 在python中字典是一系列键-值对.每个键都和一个值关联,你可以使用键来访问与之相关 ...
- Python入门篇-封装与解构和高级数据类型集合(set)和字典(dict)
Python入门篇-封装与解构和高级数据类型集合(set)和字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.封装和结构 #!/usr/bin/env pytho ...
- 大爽Python入门教程 2-3 字符串,列表,字典
大爽Python入门公开课教案 点击查看教程总目录 除了通用的序列方法, 列表和字符串还有些自己的专属方法. 后面介绍有些是英中文对照介绍(英文来自官方文档), 便于大家更深入的去理解其意思. 灵活的 ...
- Python 入门学习 -----变量及基础类型(元组,列表,字典,集合)
Python的变量和数据类型 1 .python的变量是不须要事先定义数据类型的.能够动态的改变 2. Python其中一切皆对象,变量也是一个对象,有自己的属性和方法 我们能够通过 来查看变量的类型 ...
- 大爽Python入门教程 1-4 习题
大爽Python入门公开课教案 点击查看教程总目录 1 [思考]方向变换 小明同学站在平原上,面朝北方,向左转51次之后(每次只转90度), 小明面朝哪里?小明转过了多少圈? (360度为一圈,圈数向 ...
- python入门练习题1
常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...
- Python入门版
一.前言 陆陆续续学习Python已经近半年时间了,感觉到Python的强大之外,也深刻体会到Python的艺术.哲学.曾经的约定,到现在才兑现,其中不乏有很多懈怠,狼狈. Python入门关于Pyt ...
随机推荐
- 用dfs遍历联通块(优化)
一.题目(CF 598D) 输入一个n x m的字符矩阵,求从某个空点出发,能碰到多少面墙壁,总共询问k次.(3 ≤m,n ≤1000,1 ≤ k ≤ min(nm,100 000)) 二.解题思路 ...
- Bootstrap历练实例:弹出提示信息的样式按钮
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- 分布式mysql 和 zk ( zookeeper )的分布式的区别 含冷热数据讨论
zk ( zookeeper )的分布式仅仅指的是备份模式. 分布式 mysql 不仅仅要关注备份(从以往的半主,主主,到 paxos). (mysql 比 hbase 的region成熟, hdfs ...
- Java InputStream、String、File相互转化
String --> InputStreamByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes()); Inp ...
- java在线聊天项目0.6版 解决客户端关闭后异常问题 dis.readUTF()循环读取已关闭的socket
服务端对try catch finally重新进行了定义,当发生异常,主动提示,或关闭出现异常的socket 服务器端代码修改如下: package com.swift; import java.io ...
- Bzoj 1257 [CQOI2007]余数之和 (整除分块)
Bzoj 1257 [CQOI2007]余数之和 (整除分块) 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1257 一道简单题. 题目 ...
- javascript 使用 load 和 unload 事件,解决浏览器打开和关闭时需要做的操作。
最近有一个业务,就是修改一个业务需要加上锁.也就是打开浏览器时,加锁.等用户操作完毕,关掉浏览器之后在把锁打开.一开始想问题很局限.只是想着,关闭浏览器解锁,刷新页面不做操作.然后就一直在找在调用un ...
- Python Cookbook3 Python进阶教程 http://python3-cookbook.readthedocs.io/zh_CN/latest/copyright.html
http://python3-cookbook.readthedocs.io/zh_CN/latest/copyright.html
- JQuery中如何处理键盘事件
背景:比如在页面中,敲击回车键以后,实现登录功能,在之前的Winform开发时,也遇到过处理键盘事件的功能,比如游戏软件中,上下左右的移动等. 代码如下: $(document).keydown(fu ...
- Python3中super()的参数传递
1. super([type[, object-or-type]]) super() 在使用时至少传递一个参数,且这个参数必须是一个类. 通过super()获取到的是一个代理对象,通过这个对象去查找父 ...