Python基础(3) - 数据类型:5字典类型
Python
Dictionary 是 Python 的内置数据类型之一, 它定义了键和值之间一对一的关系 。它是用{}括起来的。每个Dictionary的项的句法为:key:value. Dictionary就象我们熟知的hash表。
>>> d = {'key1':'value1','key2':'value2'}
>>> d
{'key2': 'value2', 'key1': 'value1'}
>>> d['key1']
'value1'
>>> d['key3']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'key3'
当Key不存在时,会引发一个异常。
Dictionary的相关操作:
>>> d = {'key1':'value1','key2':'value2'}
>>> d['key3'] = 'value3' #新增元素
>>> d['key3'] = 1 #可以是任意类型
>>> del d['key1'] #删除单个元素
>>> d.clear()
Dictionary的key可以是 数字,字符串,元组等不可变类型。
Dictionary元素的顺序并不是按照增加的顺序进行排序的。Dictionary中的元素是没有顺序概念的。
Dictionary的遍历:
>>> d = {'key1':'value1','key2':'value2'}
>>> for key in d.keys():
... print key, d[key]
...
key2 value2
key1 value1
>>> for key in d:
... print key, d[key]
...
key2 value2
key1 value1
>>>
从python2.2开始,可以不必再用keys()方法获取供循环使用的键值列表,可以用迭代器访问,即:只要用字典的名字就可以在for循环内遍历字典
从python2.3开始,调用dict()方法可以接受字典或关键字参数创建字典:
>>> d = dict(x=1,y=2)
>>> d
{'y': 2, 'x': 1}
>>> d2 = d.copy()
>>> d2
{'y': 2, 'x': 1}
dict.clear() removes all elements of dictionary dict
dict.copy() returns a (shallow) copy of dictionary dict
dict.get(key, default=None) for key key, returns value or default if key not in dictionary (note that default's default is None)
dict.has_key(key) returns 1 if key in dictionary dict, 0 otherwise
dict.items() returns a list of dict's (key, value) tuple pairs
dict.keys() returns list of dictionary dict's keys
dict.setdefault(key, default=None) similar to get(), but will set dict[key]=default if key is not already in dict
dict.update(dict2) adds dictionary dict2's key-values pairs to dict
dict.values() returns list of dictionary dict's values
dict.fromkeys(seq,val=None) 创建并返回一个新字典,以seq中的元素做该字典的键,val做字典中所有键对应的初始值
dict.sort( ) 排序
字典解析:
大家熟悉的列表解析:
从python2.7开始,可以用同样的语法创建字典:
>>> d = { x: x % 2 == 0 for x in range(1, 11) }
>>> d
{1: False, 2: True, 3: False, 4: True, 5: False, 6: True, 7: False, 8: True, 9: False, 10: True}
Python基础(3) - 数据类型:5字典类型的更多相关文章
- python基础一数据类型之字典
摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...
- Python基础一数据类型之数字类型
摘要: python基础一中提到了数据类型,这里主要讲解的是数字类型. 数字类型: 1,整型 2,长整型 3,浮点型 4,复数型 1,整型(int) 定义a = 1 通过type函数查看数据类型,整型 ...
- Python基础——原生数据类型(字典,列表,元组,字符串)
字典Dictionary 字典定义了键值对的1对1管理. 1.定义字典 请看下面的栗子,我们先创建了一个具有两个元素的字典,每对都是key:value的形式. 我们能通过key得到value,但是不能 ...
- Python基础(3) - 数据类型:2字符串类型
Python字符串的表示有三种方法: 1.单引号(') >>>a = 'I love python. ' 2.双引号(") >>>a = " I ...
- python基础之数据类型和数值类型
python3的六大数据类型: 1.tuple元组 2.number数字 3.string字符串 4.set集合 5.list列表 6.dictionary字典 其中不可变数据3个:tuple.num ...
- Python基础(3) - 数据类型:1数字类型
Python数据类型 数据类型 是否容器 是否可变 存储方式 数字 否 否 直接 字符串 否 否 直接 列表 是 是 顺序 元组 是 否 顺序 字典 是 是 映射 数字类型 整 型:1,234,0, ...
- Python基础(3) - 数据类型:3列表类型
Python 列表是序列对象,可包含任意的Python数据信息,如字符串.数字.列表.元组等.列表的数据是可变的,我们可通过对象方法对列表中的数据进行增加.修改.删除等操作.列表用[]包括起来的. 列 ...
- Python基础:1.数据类型(字典)
提示:python版本:2.7,windows系统 1.字典(Dictionary) 由Key-Value组成,一个Key只能对应一个Value >>> colors = {'red ...
- Python基础(3) - 数据类型:4元组类型
Python Tuple 是不可变 list. 一旦创建了一个 tuple 就不能以任何方式改变它.Tuple是用()包括起来的. Tuple与List都是按照定义的顺序进行排序的,索引从0开始,与 ...
随机推荐
- 获取vmware虚拟机模板
在我们通过克隆虚机,需要用到虚机模板.在数据中心的目录下面有文件夹.模板和虚拟机,那么这里需要做的是根据类型做递归查询. private void GetTemplate() { System.Tex ...
- RobotFramework与Jenkins集成发送邮件
转: A. 目标:实现RobotFramework的脚本定时自动执行,执行完后自动将结果发送到指定邮箱 B. 前提1. 配置好Robot Framework的环境,脚本可以正常运行 2. ...
- 也说AOP
前言 1.引言 2.Aop概念 3.Aop实践 4.总结 一.引言 对于初入行的小白来讲,aop,ioc这两个程序设计思想总是傻傻分不清,不知道是个什么东东?别人再一谈各种框架更是云里雾里...博主今 ...
- WPF 简洁的主界面
用的是dev的TileLayouotControl控件. <dxwui:PageAdornerControl Header="" Padding="30" ...
- 一键生成ssl自签名证书脚本
#!/bin/bash -e # * 为必改项 # * 更换为你自己的域名 CN='' # 例如: demo.rancher.com # 扩展信任IP或域名 ## 一般ssl证书只信任域名的访问请求, ...
- leecode刷题(9)-- 有效的数独
leecode刷题(9)-- 有效的数独 有效的数独 描述: 判断一个 9x9 的数独是否有效.只需要根据以下规则,验证已经填入的数字是否有效即可. 数字 1-9 在每一行只能出现一次. 数字 1-9 ...
- PHP网上支付
1,网上支付方式两类:企业与银行对接和通过中间公司间接与银行对接. (1),企业与银行对接,优点:因为直接与银行进行财务结算,交易资金结算比较安全.适合资金流量比较大的企业,这种方案适合于,每月结算金 ...
- Mac环境下安装python库时出现ModuleNotFoundError: No module named 'XXX'
在使用pip3安装爬虫的一些有关库时发现安装成功后,import时发现又找不到,后来发现一个解决方法. 在Anaconda-Navigator里面打开environment里面寻找发现真的没有,这时再 ...
- POJ2259 Team Queue (JAVA)
第一次TLE,对每个group重新设置Queue中定位,定位到每个group的最后一个元素,但WA 经过检查,DEQUEUE时没有根据情况重新计算group,插入时没有根据情况重新给last赋值 贴A ...
- Linux-Web应用服务性能测试初探
一.服务端与客户端的准备工作 对于服务器最想要的数据就是,每秒支持的并发数,以及相应的内存CPU使用情况. 服务端需要设置最大打开描述符的限制(以支持创建大量的socket),配置socket参数.客 ...