python之字典一
字典的定义:
前面我们说过列表,它适合于将值组织到一个结构中并且通过编号对其进行引用。字典则是通过名字来引用值的数据结构,并且把这种数据结构称为映射,字典中的值没有特殊的顺序,都存储在一个特定的键(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之字典一的更多相关文章
- Python中字典和集合
Python中字典和集合 映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元 ...
- Python的字典
1. Python的字典 1.1. 字典的定义 在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有序字典OrderedDict()
转python创建有序字典OrderedDict # -*- coding:utf-8 -*- """ python有序字典 需导入模块collections " ...
- python:字典嵌套列表
Python的字典{ }以键值对的形式保存数据,可以以键来访问字典中保存的值而不能用下标访问.字典中几乎可以包含任意的变量,字典,数列,元组.数列也一样. python的列表[ ]与字典不同,列表通过 ...
- Python的字典类型
Python的字典类型为dict,用{}来表示,字典存放键值对数据,每个键值对用:号分隔,每个键值对之间用,号分隔,其基本格式如下: d = {key1 : value1, key2 : value2 ...
- python基础—字典
阅读文本需要3分钟,不建议跳读 节目清单 字典是python中最重要的数据类型,字典由“键-值”对组成的集合,字典中的“值”通过“键”来引用.这里将介绍字典的定义.访问.排序等功能. 字典的创建 字典 ...
- 深入Python(1): 字典排序 关于sort()、reversed()、sorted()
http://www.cnblogs.com/BeginMan/p/3193081.html 一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠 ...
随机推荐
- 将ejs模板文件的后缀换成html
1.app.js的头部定义ejs: var ejs = require('ejs'): 2注册html模板引擎: app.engine('html',ejs.__express); 3.将模板引擎换成 ...
- 一百零五:CMS系统之flask-mail使用和邮箱配置、发送邮件功能
安装:pip install flask-mail 官方文档:https://pythonhosted.org/Flask-Mail/ 邮箱配置 MAIL_SERVER = 'smtp.qq.com' ...
- Node线上部署管理器PM2
PM2是一个带有负载均衡功能的Node应用的进程管理器.PM2可以利用服务器上的所有CPU,并保证进程永远都活着,0秒的重载,部署管理多个Node项目.PM2是Node线上部署完美的管理工具. PM2 ...
- CentOS7.5下,MySQL安装配置指南
[root@host---- home]# grep 'temporary password' /var/log/mysqld.log --20T02::.457613Z [Note] A tempo ...
- linux中查找命令find、locate、whereis、which、type的区别
find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件.与查询数据库(/var/lib/locatedb)文件不同,find查找的是磁盘空间. locate locate命令其实 ...
- Docker部署Nextcloud私有网盘
对于国内某度的网盘限速行为大家有目共睹,不过对于商业化的产品模式这样也无可厚非,毕竟企业也是盈利为目的.如果想享受互联网技术带来的便利,刚好也懂一点技术的话可以尝试搭建属于私有的网盘.个人比较推荐的是 ...
- 快速幂 -- cogs1437 转圈游戏
题目链接:http://cogs.pro:8081/cogs/problem/problem.php?pid=vJimmkqjW [题目描述] 思路:简单模拟,重点在于如何求这个轮数,由于k的范围过大 ...
- Python学习笔记——递归函数
1.设置递归层数 #设置recursion函数的层数,默认是100层 import sys sys.setrecursionlimit(10000) 2. 阶乘 #定义一个阶乘函数 def facto ...
- layui 时间选择器 不要秒的选项
通过修改 CSS 样式可以隐藏秒的选项 ++ .laydate-time-list{padding-bottom:0;overflow:hidden} .laydate-time-list>li ...
- 动态加载js不执行解决办法
这个问题的产生原因是:我们项目有一个主index文件,在主index文件中需要根据参数来判断是加载pc.html的内容还是加载mobile.html的内容,一开始是使用jquery来做的,没有问题,后 ...