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. 颠 ...
随机推荐
- 基于layui的表格异步删除,ajax的简单运用
h话不多说,看图,点击删除,出现确认框,然后点击确认删除,直接删除数据, 因为是基于面向过程的,没有用php框架写,所以有3个文件: 第一个文件:data.php:用于从数据库中获取数据 <?p ...
- openstack部署cinder
controller 一.创建cinder数据库并设置权限 mysql -u root -p CREATE DATABASE cinder; GRANT ALL PRIVILEGES ON ...
- c语言数组类型默认值(c99)
#include <stdio.h> #include <stdlib.h> int main() { ] = {}; //每个值默认0 ; i < len; i ++) ...
- 一台物理机器一个IP配置多个域名多套程序的方法
1.安装nginx cd /usr/local/ wget http://nginx.org/download/nginx-1.2.8.tar.gz tar -zxvf nginx-1.2.8.tar ...
- Python3 Selenium自动化web测试 ==> 第九节 WebDriver高级应用 -- 操作select 和 alert
学习目的: 掌握页面常规元素的定位方法 场景: 网页正常的select元素下拉框常规方法和select专属方法 正式步骤: step1:常规思路select页面元素定位 处理HTML代码截图 # -* ...
- Jmeter接口测试 2=> Jmeter工具的介绍
第一节 接口测试流程 参数化:EXCEl文件参数化.数据库参数化.直接代码中配置.配置文件 预处理请求(前置处理):对请求的参数进行预处理.准备,如加密数据.组织测试数据 发起请求:httpclien ...
- android#使用Intent传递对象
参考自<第一行代码>——郭霖 Intent的用法相信你已经比较熟悉了,我们可以借助它来启动活动.发送广播.启动服务等.在进行上述操作的时候,我们还可以在Intent中添加一些附加数据,以达 ...
- 【计算机视觉】UCLA开源图像检测器
UCLA (加州大学洛杉矶分校)发布了一个强大的图像检测软件的源码 ,该软件可以非常高速的检测每个图像的细节,例如可用于检测指纹和虹膜,或者用于自动驾驶.通过识别物体的边界进行提取.首先确定一个物体的 ...
- mysql 基础练习题(一)
一.先创建几个要用的库表 create database zuoye; -- 创建数据库 use zuoye; -- 使用数据库 #创建几个库表 create table Student -- 学生表 ...
- hdoj5909 Tree Cutting(点分治+树上dp转序列dp)
题目链接:https://vjudge.net/problem/HDU-5909 题意:给一颗树,结点带权值v[i]<m.求异或和为k的子树个数(0<=k<m). 思路: 首先点分治 ...