老男孩python学习自修第四天【字典的使用】
dict = {key1:value1, key2:value2} 定义字典
dict[key] = value 设置字典中指定健的值
dict.pop(key) 删除字典中指定健
dict.popitem() 随机删除字典中的健
dict.clear() 清空元组
dict.update(dict2) 使用另一个字典更新,
dict.setdefault(key, value) 如果该键存在则不设置,如果该键不存在则设置
dict.get(key, default_value) 获取指定健的值,没有则返回默认值
dict[key] 获取指定健的值
dict.haskey(key) 判断是否包含某个健
dict.keys() 返回素有健的列表
dict.values() 返回所有值的列表
dict.items() 返回所有健值对元组的列表
dict.copy() 浅复制
2.字典的循环
此方法对于大字典效率高
for key in dict:
print key, dict[key]
此方法对于大字典效率低,因为需要将字典转化为列表
for key, value in dict.items():
print key, value
3.复制
实战如下:
#!/usr/bin/env python
# _*_ coding:UTF-8 _*_
import copy
dict = {"aaa":"aaa", "bbb":"bbb", "ccc":"ccc"}
dict_shallow = dict.copy()
dict_deep = copy.deepcopy(dict)
print dict, dict_shallow, dict_deep
dict["ddd"] = "ddd"
dict["list"] = [1, 2, 3]
print dict, dict_shallow, dict_deep
结果如下:
liudaoqangdeAir:dict liudaoqiang$ python dict_copy.py
{'aaa': 'aaa', 'bbb': 'bbb', 'ccc': 'ccc'} {'aaa': 'aaa', 'bbb': 'bbb', 'ccc': 'ccc'} {'aaa': 'aaa', 'bbb': 'bbb', 'ccc': 'ccc'}
{'list': [1, 2, 3], 'aaa': 'aaa', 'bbb': 'bbb', 'ccc': 'ccc', 'ddd': 'ddd'} {'aaa': 'aaa', 'bbb': 'bbb', 'ccc': 'ccc'} {'aaa': 'aaa', 'bbb': 'bbb', 'ccc': 'ccc'}
liudaoqangdeAir:dict liudaoqiang$ more dict_copy.py 
字典与列表的比较
dict:
(1)查找和插入的速度比较快,不随key的增加而增加
(2)占用大量的内存
(3)key不可变
(4)默认无序
list:
(1)查找和插入的时间随key的增加而增加
(2)占用内存少
(3)根据下标查找
(4)有序
老男孩python学习自修第四天【字典的使用】的更多相关文章
- 老男孩python学习自修第十四天【序列化和json】
		序列化是使用二进制的方式加密列表,字典或集合,反序列化是解密的过程:序列化开启了两个独立进程进行数据交互的通路 使用pickle进行序列化和反序列化 例如: pickle_test.py #!/usr ... 
- 老男孩python学习自修第二十四天【多进程】
		1. 体验多进程的运行速度 #!/usr/bin/env python # _*_ coding:UTF-8 _*_ from multiprocessing import Pool import t ... 
- 老男孩python学习自修第十九天【异常处理】
		1.常见的错误 TypeError 类型错误 NameError 没有该变量 ValueError 不期望的值 AttributeError 没有该属性 UnboundLocalError 没有该局部 ... 
- 老男孩python学习自修第八天【函数式编程】
		1.可变参数,将传参自动汇总成列表 2.可变参数,将参数自动汇总成字典 实战如下: #!/usr/bin/env python # _*_ coding:UTF-8 _*_ def show(*arg ... 
- python学习第十四天字典的del(),pop().popitem(),clear()删除方法
		字典的每个键值 key=>value 数据类型,字典的key是唯一的,Value可以一样 names={'玖乐公司网址':‘www.96net.com.cn’,"电池网":' ... 
- 老男孩python学习自修第二十三天【多线程】
		1. 线程的创建与运行 #!/usr/bin/env python # _*_ coding:UTF-8 _*_ from threading import Thread def foo(param1 ... 
- 老男孩 python学习自修第二十二天【文件上传与下载】
		1.使用socket实现文件上传 server.py #!/usr/bin/env python # _*_ coding:UTF-8 _*_ import os import SocketServe ... 
- 老男孩python学习自修第十八天【面向对象】
		1.类与对象(构造方法与实例化) #!/usr/bin/env python # _*_ coding:UTF-8 _*_ class Province: def __init__(self, nam ... 
- 老男孩python学习自修第十七天【装饰器】
		装饰器:在某个方法执行前后去执行其他新定义的行为 例如: #!/usr/bin/env python # _*_ coding:UTF-8 _*_ def before_say_hello(): pr ... 
随机推荐
- ansible的playbook进行yum批量安装nginx最新版本
			环境:centos7 版本:nginx最新版本 软件: ansible 作用: 进行批量执行不同机器上,进行安装nginx版本 检查脚本是否正确: [root@ansible-test ansible ... 
- Python 中的浅拷贝和深拷贝
			1. 列表和字典,直接赋值,都是浅拷贝,即赋值双方指向同一地址,因为 Python 对可变对象按引用传递. >>> a = [1, 2, 3] >>> b = a ... 
- python3 练习题(用函数完成登录注册以及购物车的功能)
			''' 用函数完成登录注册以及购物车的功能 作业需求: 1,启动程序,用户可选择四个选项:登录,注册,购物,退出. 2,用户注册,用户名不能重复,注册成功之后,用户名密码记录到文件中. 3,用户登录, ... 
- 2018-2019-3《Java程序设计》第二周学习总结
			学号20175329 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结 第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨 ... 
- Windows安裝PHP環境
			Windows安裝PHP環境的準備工作:httpd-2.2+php-5.4+mysql-5.5 第一步是安裝相對應的三個軟件,只要略懂一些英文單詞,安裝是沒有問題的,所以此處略過三個文件的安裝過程,直 ... 
- element-ui中 table表格hover 修改背景色
			增加样式级别就行啦 .el-table--enable-row-hover .el-table__body tr:hover>td{ background-color: #212e3e !i ... 
- .NET下日志系统的搭建——log4net+kafka+elk
			.NET下日志系统的搭建--log4net+kafka+elk 前言 我们公司的程序日志之前都是采用log4net记录文件日志的方式(有关log4net的简单使用可以看我另一篇博客),但是随着 ... 
- 面试 10:玩转 Java 选择和插入排序,附冒泡最终源码
			昨天给大家讲解了 Java 玩转冒泡排序,大家一定觉得并没有什么难度吧,不知道大佬们玩转了吗?不知道大家有没有多加思考,实际上在我们最后的一种思路上,还可以再继续改进. 我们先看看昨天最终版本的代码. ... 
- 北京教育软件创业公司招 .net工程师
			北京教育软件创业公司,招 .net工程师,月工资2万左右,有合适的朋友帮忙推荐下,要求水平稍高一些的.产品目前用Winform开发的.创始人两个清华,一个北大.老板在美国待了七年回来的,爱人在清华教书 ... 
- 我的微信小程序第一篇(入门)
			前言 微信小程序出来已经有一段时间了,已经有很多大牛都写过相关教程了,那么我为啥还要写这篇文章呢?其实仅仅是个人对微信开发的一个兴趣吧,觉得是个很有意思的事情,后面有时间可能会发更多关于小程序的文章, ... 
