python笔记04:字典
4.1 字典的使用
某些情况下,字典比列表更好用一些,比如:
4.2 创建和使用字典
phonebook = {'Alice':1567,'Beth':'','Cecil':0010}
4.2.1 dict函数
items = [('name','Gumby'),('age',43)]
d = dict(items)
>>> print d
{'age': 43, 'name': 'Gumby'}
4.2.2 字典的基本操作
4.2.3 字典的格式化字符串
phonebook = {'Alice':1567,'Beth':'','Cecil':0010}
>>> "Cecil's phone number is %(Cecil)s." % phonebook
"Cecil's phone number is 8."
4.2.4 字典方法
1.clear:清除字典中的所有项
2.copy:返回一个具有相同键值对的新字典
x = {'username':'admin','machine':['foo','bar','baz']}
y = x.copy()
y['username'] = 'mlh'
y['machine'].remove('bar')
print y
print x
#结果如下
{'username': 'mlh', 'machine': ['foo', 'baz']}
{'username': 'admin', 'machine': ['foo', 'baz']}
from copy import deepcopy
d = {}
d['names'] = ['Alfed','Bertand']
c = d.copy()
dc = deepcopy(c)
dc['names'].append('Clive') print c
print dc
#结果如下:
{'names': ['Alfed', 'Bertand']}
{'names': ['Alfed', 'Bertand', 'Clive']}
3.fromkeys:使用给定的键建立新字典
>>> {}.fromkeys(['name','age'])
{'age': None, 'name': None}
>>> dict.fromkeys(['name','age'])
{'age': None, 'name': None}
4.get:更宽松的访问字典方法
>>> d = {}
>>> d['name']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'name'
>>> print d.get('name')
None
>>> print d.get('name','N/A')
N/A
>>> d['age'] = 43
>>> d.get('age')
43
5.haskey:判断是否有特定键
6.item与iteritems:将字典的值以列表形式返回
>>> d = {'name':'Lily','age':24}
>>> d.items()
[('age', 24), ('name', 'Lily')]
>>> it = d.iteritems()
>>> print it
<dictionary-itemiterator object at 0x7f54e5fff158>
>>> print list(it)
[('age', 24), ('name', 'Lily')]
7.keys与iterkeys:将字典中的键以列表形式返回
8.pop:获得相应键的值,并删除键值对
>>> d
{'age': 24, 'name': 'Lily'}
>>> d.pop('name')
'Lily'
>>> d
{'age': 24}
9.popitem:弹出最后一个元素
10.setdefault:获得给定键相关联的值
>>> d = {}
>>> d.setdefault('name','N/A')
'N/A'
>>> d
{'name': 'N/A'}
>>> d['name'] = 'Gumby'
>>> d.setdefault('name','N/A')
'Gumby'
>>> d
{'name': 'Gumby'}
>>> d = {}
>>> d.setdefault('name',[]).append(my_sister)
>>> d
{'name': ['Anne']}
>>> d.setdefault('name',[]).append('my_sister')
>>> d
{'name': ['Anne', 'my_sister']}
11.update:利用一个字典项更新另一个字典
>>> d = {'name':'Gumby','age':42,'address':'BeiJing'}
>>> x = {'name':'Lily'}
>>> d.update(x)
>>> d
{'age': 42, 'name': 'Lily', 'address': 'BeiJing'} #d中的name值已随x更新
>>> x
{'name': 'Lily'}
12.values与itervalues:返回字典中的值
python笔记04:字典的更多相关文章
- Python笔记之字典循环
Python笔记之字典循环 1.问题 Python是一门比较好入门的编程语言,但是入门简单,当然坑也是有的,今天就来介绍一个我遇到的坑吧,也是很简单的一个,就是当时脑子有点转不过弯来了. 先看代码 ...
- Python笔记4——字典的一些基本操作
#字典 key-value #添加 my_family= {"father": "weihaiqing", "mother": " ...
- Python数据类型-04.字典
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据 ------------ 完美的分割线 ------------- 1.字典引入 # 为何还要用字典?存放一个人的信 ...
- python笔记-dict字典的方法2
#!/usr/bin/env python #-*- coding:utf-8 -*- ''' 概述: 使用键值(key-value)存储,具有极快的查找速度 注意:字典是无序的 key的特性: 1. ...
- python笔记-dict字典的方法
#!/usr/bin/env python #-*- coding:utf-8 -*- #打印0001-9999的数字 for i in range(9999): s = "%04d&quo ...
- 我的Python笔记04
摘要: 声明:本文整理借鉴金角大王的Python之路,Day4 - Python基础4 (new版) 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件 ...
- Python笔记 #04# Methods
源:DataCamp datacamp 的 DAILY PRACTICE + 日常收集. Methods String Methods List Methods 缺一 Methods You can ...
- python笔记04
数据类型(二) 今日内容 1.列表 2.元组 内容回顾和补充 1.计算机基础 ①硬件:cpu,内存,硬盘,主板,网卡 ②操作系统:linux,centos, Ubuntu,redhat windows ...
- Python笔记:字典的fromkeys方法创建的初始value同内存地址问题
dict中的fromkeys()函数可以通过一个list来创建一个用同一初始value的dict. d = dict.fromkeys(["苹果", "菠萝"] ...
随机推荐
- hdu 3698 UVA1490 Let the light guide us 线段树优化DP
题目链接 and 题目大意 hdu3698 但是 hdu的数据比较弱,所以在这luogu提交吧UVA1490 Let the light guide us 有一个\(n*m\)的平原,要求每行选一个点 ...
- 51Nod 1344 走格子(贪心
1344 走格子 有编号1-n的n个格子,机器人从1号格子顺序向后走,一直走到n号格子,并需要从n号格子走出去.机器人有一个初始能量,每个格子对应一个整数A[i],表示这个格子的能量值.如果A[i ...
- Python Sip [RuntimeError: the sip module implements API v11.0 to v11.2 but the PyQt5.QtCore module requires API v11.3]
不知道原因,尝试卸载.编译安装均失败.只有这样曲线救国 import matplotlib matplotlib.use("WXAgg",warn=True) import mat ...
- C# ashx接收ContentType="text/xml"类型值
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain&qu ...
- 使用better-scroll遇到的问题
项目中想给侧边栏添加一个滚动效果,用better-scroll帮助实现,引入better-scroll后,给外层最大盒子添加了<aside ref="asideMenu"&g ...
- 深入理解Hadoop之HDFS架构
Hadoop分布式文件系统(HDFS)是一种分布式文件系统.它与现有的分布式文件系统有许多相似之处.但是,与其他分布式文件系统的差异是值得我们注意的: HDFS具有高度容错能力,旨在部署在低成本硬件上 ...
- spring boot 开发 提交form表单出错
提交表单时,字段有的没有值,springboot 会报错. org.springframework.validation.BindException: org.springframework.vali ...
- Python mysql-数据库基础知识
2017-09-05 19:10:55 一.数据库定义 从本质上讲,数据库就是信息的集合,它可以存在很长时间,往往是很多年.一般来讲,"数据库"这个词指的是有数据库管理系统管理的数 ...
- Linux-Load Average解析
load Average 转自:http://www.blogjava.net/sliverfancy/archive/2013/04/17/397947.html 1.1:什么是Load?什么是Lo ...
- Confluence 6 配置 LDAP 连接池
当 LDAP 连接池被启用后,LDAP 目录服务器将会维护一个连接池同时当必要的时候指派他们.当一个连接关闭后,这个连接将会放回到连接池中供以后进行使用.这种设置将会有效的提高系统性能. 希望配置 L ...