python-映射·字典
1.创建字典:字典由键值对组成,每个键值对就是字典的一个元素,键值对之间用分号(:)隔开,元素之间用逗号(,)隔开。字典中的键必须是唯一 且不可变得(不可以是列表或者字典)。字典中的元素是无序的。
dic = {'name': 'Gumby', 'age': '18'}
2.字典的基本操作
1)使用len(dict)函数返回字典中包含的键值对的个数
- 1 >>> dic = {'name': 'Gumby', 'age': '18'}
- 2 >>> len(dic)
- 3 2
2)dict[key],key的值为字典中的键的名称,返回该键所对应的值

- 1 >>> dic = {'name': 'Gumby', 'age': '18'}
- 2 >>> dic['name']
- 3 'Gumby'
- 4 >>> dic = {'name': 'Gumby', 'age': '18'}
- 5 >>> dic['phone'] = '123456'
- 6 >>> dic
- 7 {'name': 'Gumby', 'age': '18', 'phone': '123456'}

3)dict[key] = value, 我们可以使用‘=’来给字典键为key的项关联新的值。当键不在字典中的时候,字典将添加这一键值对到字典中。
- 1 >>> dic = {'name': 'Gumby', 'age': '18'}
- 2 >>> dic['name'] = 'Alex'
- 3 >>> dic
- 4 {'name': 'Alex', 'age': '18'}
4)使用del dict[key] 来删除键值对
- 1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
- 2 >>> del dic['phone']
- 3 >>> dic
- 4 {'name': 'Gumby', 'age': '18'}
5)成员资格:使用key in dict来检查字典中是都包含键为key的值,存在返回True,反之返回False
- 1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
- 2 >>> 'name' in dic
- 3 True
- 4 >>> 'add' in dic
- 5 False
3.字典的方法
1.clear(self)
clear方法将删除字典中所有的项,原字典变为空字典
- 1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
- 2 >>> dic.clear()
- 3 >>> dic
- 4 {}
2.copy(self)
copy方法返回一个新字典,跟原字典相同,只不过这个复制是浅复制
- 1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
- 2 >>> dic.copy()
- 3 {'name': 'Gumby', 'age': '18', 'phone': '123456'}
3.fromkeys(*args, **kwargs)
fromkeys方法创建一个新的字典,其中包含指定的键,对应的每个值都是一样的

- 1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
- 2 >>> dict.fromkeys(dic)
- 3 {'name': None, 'age': None, 'phone': None}
- 4 >>> dict.fromkeys([1, 2, 3])
- 5 {1: None, 2: None, 3: None}
- 6 #传入第二个参数为‘python’,字典的每个键对应的值都为'python'
- 7 >>> dict.fromkeys([1, 2, 3], 'python')
- 8 {1: 'python', 2: 'python', 3: 'python'}

4.get(self, k, d=None)
get方法与上述的dict[keys]的效果类似,不同的是当k在字典中找不到的时候不会报错,会返回None或我们指定的值

- 1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
- 2 >>> dic.get('name')
- 3 'Gumby'
- 4 >>> dic.get('school')
- 5 >>> dic.get('school','nothing')
- 6 'nothing'

5.items(self)
items方法返回一个包含字典中所有键值对的可迭代对象,每个键值对用元组返回
- 1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
- 2 >>> dic.items()
- 3 dict_items([('name', 'Gumby'), ('age', '18'), ('phone', '123456')])
- 4 >>> list(dic.items())
- 5 [('name', 'Gumby'), ('age', '18'), ('phone', '123456')]
6.keys(self)
keys方法返回字典中所有键组成的可迭代对象
- 1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
- 2 >>> dic.keys()
- 3 dict_keys(['name', 'age', 'phone'])
- 4 >>> list(dic.keys())
- 5 ['name', 'age', 'phone']
7.pop(self, k, d=None) 与 popitem(self)
pop方法返回指定key所对应的值,并且从字典中删除该键值对;popitem方法类似于列表中的pop方法,只是列表中的pop方法是删除最后一个元素,而popitem方法是随机删除字典中的一个键值对,并返回

- 1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
- 2 >>> dic.pop('name')
- 3 'Gumby'
- 4 >>> dic
- 5 {'age': '18', 'phone': '123456'}
- 6 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
- 7 >>> dic.popitem()
- 8 ('phone', '123456')
- 9 >>> dic
- 10 {'name': 'Gumby', 'age': '18'}

8.setdefault(self, k, d=None)
setdefault方法类似于get方法,可以获取指定键所对应的值,与get方法不同的是,若key不在字典中,setdefault方法将在字典中插入指定的键值对。

- 1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
- 2 >>> dic.setdefault('name')
- 3 'Gumby'
- 4 #‘school’不在该字典中,setdefault在字典中插入该键且值为None
- 5 >>> dic.setdefault('school')
- 6 >>> dic
- 7 {'name': 'Gumby', 'age': '18', 'phone': '123456', 'school': None}

9.update(self, E=None, **F)
updat方法使用一个字典中的键值对来更新另一个字典,如果包含相同的项就替换该项的值,若不存在,就添加到字典中。
- 1 >>> dic = {'name': 'Gumby', 'age': '18'}
- 2 >>> d = {'name': 'Alex', 'phone': '123456'}
- 3 >>> dic.update(d)
- 4 >>> dic
- 5 {'name': 'Alex', 'age': '18', 'phone': '123456'}
10.values(self)
values方法返回一个有字典中的值组成的可迭代对象
- 1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
- 2 >>> dic.values()
- 3 dict_values(['Gumby', '18', '123456'])
- 4 >>> list(dic.values())
- 5 ['Gumby', '18', '123456']
python-映射·字典的更多相关文章
- Python中字典和集合
Python中字典和集合 映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元 ...
- Python的字典
1. Python的字典 1.1. 字典的定义 在Python中,字典是一种key-value的数据类型,也是唯一的映射类型:字典还是另一种可变容器类型,且可存储任意类型对象,其中也可包括其他容器 ...
- python有序字典OrderedDict()
转python创建有序字典OrderedDict # -*- coding:utf-8 -*- """ python有序字典 需导入模块collections " ...
- python基础—字典
阅读文本需要3分钟,不建议跳读 节目清单 字典是python中最重要的数据类型,字典由“键-值”对组成的集合,字典中的“值”通过“键”来引用.这里将介绍字典的定义.访问.排序等功能. 字典的创建 字典 ...
- python的字典及相关操作
一.什么是字典 字典是Python中最强大的数据类型之一,也是Python语言中唯一的映射类型.映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希 ...
- Python的字典和JSON
Python的字典和JSON在表现形式上非常相似 #这是Python中的一个字典 dic = { 'str': 'this is a string', 'list': [1, 2, 'a', 'b'] ...
- python基础--字典
Python基础--字典 字典的常用函数: dict.clear( )--->无任何返回值 说明: 清除字典内的所有的元素 语法: In [5]: dict.clear? Type: metho ...
- Python dictionary 字典 常用法
Python dictionary 字典 常用法 d = {} d.has_key(key_in) # if has the key of key_in d.keys() ...
- python:字典嵌套列表
Python的字典{ }以键值对的形式保存数据,可以以键来访问字典中保存的值而不能用下标访问.字典中几乎可以包含任意的变量,字典,数列,元组.数列也一样. python的列表[ ]与字典不同,列表通过 ...
- Python的字典类型
Python的字典类型为dict,用{}来表示,字典存放键值对数据,每个键值对用:号分隔,每个键值对之间用,号分隔,其基本格式如下: d = {key1 : value1, key2 : value2 ...
随机推荐
- String_Helper
#region 扩展验证方法 #region <<IsNullOrEmpty()字符串是否为空>> /// <summary> /// <para>代码 ...
- 使用Unicode写文本文件:一个简单类的示例
参考了http://forums.codeguru.com/showthread.php?457106-Unicode-text-file示例. class WOFSTREAM : public st ...
- 清理SharePoint 2010的SQL Server 2008 R2日志数据库的方法
最近发现Sharepoint的数据库磁盘经常满,导致无法保存数据,经检查发现数据磁盘的所有日志文件远远大于数据文件,因此需要收缩日志文件,一开始利用图形化的收缩文件方式,只有收缩数据文件的大小,对于日 ...
- mongodb 3.4 学习 (五)备份&恢复
备份恢复命令 mongodump -h 127.0.0.1 -p 27017 -o /opt/backup -u app -p '@app' --collection demo --db app -- ...
- SQL获取本周,上周,本月,上月的开始时间和结束时间
),),--本周 ),),--上周 ),),--本月 ),),--上月 ),),--近半年 ),)--近一年 ), ,, ),)--本周开始时间 ), ,, ),)--本周结束时间 ),,, ),)- ...
- python:Non-ASCII character ‘\xe2′ in file
python 2.7系列的 在运行.py文件时 报错python:Non-ASCII character ‘\xe2′ in file 解决办法: 在文件顶部 加入 # coding: utf ...
- Vim直接打开Tampermonkey网址的方法。
根据tampermonkey利用@require调用本地脚本的方法,比如我电脑上保存了Tampermonkey脚本a.user.js和它调用的a.js, 想在Vim编辑这两个文件时,都能一键打开网页里 ...
- JS支持可变参数(任意多个)
<script type="text/javascript"> function abc(){ //js中有个变量arguments,可以访问所有传入的值 for(va ...
- SQA计划和测试规程
一.SQA计划 (一)目的 本计划的目的是定义我们该小组所做的“云医院”项目的SQA任务和职责,在项目过程中应遵循的流程.规范和约定等,以确保软件质量得到维持. (二)范围 本计划应用于“云医院”项目 ...
- 基于Qt的相似QQ好友列表抽屉效果的实现
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/shuideyidi/article/details/30619167 前段时间在忙毕业设计, ...