字典的定义:

前面我们说过列表,它适合于将值组织到一个结构中并且通过编号对其进行引用。字典则是通过名字来引用值的数据结构,并且把这种数据结构称为映射,字典中的值没有特殊的顺序,都存储在一个特定的键(key)下,键可以是数字、字符串甚至元组。字典也是python中唯一内建的映射类型。

字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

可以用dict函数通过关键字的参数来创建字典:

>>> d = dict (name='wzw',age= )
>>> d
{'name': 'wzw', 'age': }

键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。

>>> dict = {'a': , 'b': , 'b': ''}
>>> dict
{'a': , 'b': ''}

访问字典中的值:

dict = {'Name': 'Zara', 'Age': , 'Class': 'First'}
print( "dict['Name']: ", dict['Name'])
print( "dict['Age']: ", dict['Age'])
运行结果:
[python@master tmp]$ python3 a.py
dict['Name']: Zara
dict['Age']:

修改字典中的值:

dict = {'Name': 'Zara', 'Age': , 'Class': 'First'}

print( "dict['Age']: ", dict['Age'])
修改健值
dict['Age']=
print( "dict['Age']: ", dict['Age'])
新增健值
dict['school']='henan school'
print(dict)
运行结果:
[python@master tmp]$ python3 a.py
dict['Age']:
dict['Age']:
{'Name': 'Zara', 'Age': , 'Class': 'First', 'school': 'henan school'}

删除字典元素:

能删单一的元素也能清空字典,清空只需一项操作。显示删除一个字典用del命令

dict = {'Name': 'Zara', 'Age': , 'Class': 'First'}
del dict['Name']; # 删除键是'Name'的条目
print(dict)
dict.clear(); # 清空词典所有条目
print(dict)
del dict ;        # 删除词典
运行结果:
[python@master tmp]$ python3 b.py
{'Age': 7, 'Class': 'First'}
{}

字典的特性:

字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住

2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行

字典和列表的区别:
     a. 字典的键可以是任意的不可变类型
     b. 成员资格查找时查找的时键而不是值
     c. 即使键起初不存在也可以为它直接赋值,字典会自动添加新的项
     d. 字典是不可修改的

字典的内置函数

cmp(dict1, dict2)  #比较两个字典元素。 --这个是python2.x中的比较 在python3中 已经没有cmp函数,被operator模块代替
len(dict) #计算字典元素个数,即键的总数。
str(dict) #输出字典可打印的字符串表示。
type(variable) #返回输入的变量类型,如果变量是字典就返回字典类型。

内置函数Operator()

import operator  #首先要导入运算符模块
operator.gt(,) #意思是greater than(大于)
operator.ge(,) #意思是greater and equal(大于等于)
operator.eq(,) #意思是equal(等于)
operator.le(,) #意思是less and equal(小于等于)
operator.lt(,) #意思是less than(小于)
例子:
import operator
dict1 = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict2 = {'Name': 'Zara', 'Age': 8, 'Class': 'First'}
result=operator.eq(dict1,dict2)
print (result)
结果:
[python@master tmp]$ python3 b.py
False
函数的返回值是布尔值

内置函数len()

dict1 = {'Name': 'Zara', 'Age': , 'Class': 'First'}
lenth=len(dict1)
print (lenth)
结果:
[python@master tmp]$ python3 b.py

内置函数str()

dict1 = {'Name': 'Zara', 'Age': , 'Class': 'First'}
lenth=str(dict1)
print (lenth)
结果:
[python@master tmp]$ python3 b.py
{'Name': 'Zara', 'Age': , 'Class': 'First'}

内置函数type()

dict1 = {'Name': 'Zara', 'Age': , 'Class': 'First'}
lenth=type(dict1)
print (lenth)
结果:
[python@master tmp]$ python3 b.py
<class 'dict'>

今天的你,是否充满活力?

python之字典一的更多相关文章

  1. Python中字典和集合

    Python中字典和集合 映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元 ...

  2. Python的字典

    1.  Python的字典 1.1.  字典的定义 在Python中,字典是一种key-value的数据类型,也是唯一的映射类型:字典还是另一种可变容器类型,且可存储任意类型对象,其中也可包括其他容器 ...

  3. Python的字典和JSON

    Python的字典和JSON在表现形式上非常相似 #这是Python中的一个字典 dic = { 'str': 'this is a string', 'list': [1, 2, 'a', 'b'] ...

  4. python基础--字典

    Python基础--字典 字典的常用函数: dict.clear( )--->无任何返回值 说明: 清除字典内的所有的元素 语法: In [5]: dict.clear? Type: metho ...

  5. Python dictionary 字典 常用法

    Python dictionary 字典 常用法 d = {} d.has_key(key_in)       # if has the key of key_in d.keys()          ...

  6. python有序字典OrderedDict()

    转python创建有序字典OrderedDict # -*- coding:utf-8 -*- """ python有序字典 需导入模块collections " ...

  7. python:字典嵌套列表

    Python的字典{ }以键值对的形式保存数据,可以以键来访问字典中保存的值而不能用下标访问.字典中几乎可以包含任意的变量,字典,数列,元组.数列也一样. python的列表[ ]与字典不同,列表通过 ...

  8. Python的字典类型

    Python的字典类型为dict,用{}来表示,字典存放键值对数据,每个键值对用:号分隔,每个键值对之间用,号分隔,其基本格式如下: d = {key1 : value1, key2 : value2 ...

  9. python基础—字典

    阅读文本需要3分钟,不建议跳读 节目清单 字典是python中最重要的数据类型,字典由“键-值”对组成的集合,字典中的“值”通过“键”来引用.这里将介绍字典的定义.访问.排序等功能. 字典的创建 字典 ...

  10. 深入Python(1): 字典排序 关于sort()、reversed()、sorted()

    http://www.cnblogs.com/BeginMan/p/3193081.html 一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠 ...

随机推荐

  1. 用python实现简单EXCEL数据统计的实例

    用python实现简单EXCEL数据统计的实例 下面小编就为大家带来一篇用python实现简单EXCEL数据统计的实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 任 ...

  2. Hadoop、Hbase —— 服务启动、验证、停止

    一.Hadoop  1.启动Hadoop cd /usr/local/hadoop-2.7.3/sbin ./start-dfs.sh 启动过程如下: 2.验证Hadoop是否启动成功 2.1.在主节 ...

  3. java 增强for循环对于空集和null的判断

    List<String> list = null; for (String str : list) {//会报空指针异常 System.out.println(str); } List&l ...

  4. 【转载】用jquery给select option 赋值

    var dataList = [ "6211125886667895", "6211125886667892", "6211125886667897& ...

  5. window server2012R2激活

    slmgr /ipk D2N9P-3P6X9-2R39C-7RTCD-MDVJXslmgr /skms kms.03k.orgslmgr /ato

  6. [ES6 系列] 你真的了解ES6吗(一)

    前言 无论是我们日常开发还是面试跳坑, ES6 已经变得越来越重要,那么你是否对它足够熟悉呢 ES6 将会是专栏接下来的一个系列,从最基础的概念或者有趣的问题开始逐渐深入,探究 ES6 常用的特性以及 ...

  7. Django:(04)状态保持和验证

    一.Cookie 特点 ​ Cookie是由服务器(网站)生成的,存储在浏览器端的 键值对数据(通常经过加密) 在响应请求时,服务器会把生成 Cookie数据 发给浏览器,浏览器会自动保存 (前提:浏 ...

  8. Django 虚拟化环境创建

    A:linux下的方法: 1.用python3.6内置的venv创建名为 typeidea-env虚拟化环境: python3.6 -m venv typeidea-env 2.激活环境: cd ty ...

  9. Ruby On Rails 路径穿越漏洞(CVE-2018-3760)

    Ruby On Rails在开发环境下使用Sprockets作为静态文件服务器,Ruby On Rails是著名Ruby Web开发框架,Sprockets是编译及分发静态资源文件的Ruby库. Sp ...

  10. 【VS开发】OpenCV2:Mat属性type,depth,step

    OpenCV2:Mat属性type,depth,step 在OpenCV2中Mat类无疑使占据着核心地位的,前段时间初学OpenCV2时对Mat类有了个初步的了解,见OpenCV2:Mat初学.这几天 ...