python 数据类型 ----字典
字典由一对key:value 组成的 python中常用且重量级的数据类型
1. key , keys, values
字典由一对key:value 组成的 python中常用且重量级的数据类型
1. key , keys, values
id_db = {
'jboss':{
'mycis': '10.88.130.38',
'ec':'10.88.130.29',
'rds':'10.88.130.25'
},
'jetty':{
'mycis':'10.88.130.37',
'ec':'10.88.130.36'
}
} print(id_db)
for key in id_db: #字典的key
print(key,id_db[key]) key_list = id_db.keys() #字典的keys属性
value_list = id_db.values() #字典的values属性
print(key_list)
print(value_list) #运行结果:
{'jboss': {'rds': '10.88.130.25', 'ec': '10.88.130.29', 'mycis': '10.88.130.38'}, 'jetty': {'ec': '10.88.130.36', 'mycis': '10.88.130.37'}}
jboss {'rds': '10.88.130.25', 'ec': '10.88.130.29', 'mycis': '10.88.130.38'}
jetty {'ec': '10.88.130.36', 'mycis': '10.88.130.37'}
dict_keys(['jboss', 'jetty'])
dict_values([{'rds': '10.88.130.25', 'ec': '10.88.130.29', 'mycis': '10.88.130.38'}, {'ec': '10.88.130.36', 'mycis': '10.88.130.37'}])
2.字典的查询 dir[index], dir.get[index]
server_list = {
'uat': {
'jboss': 'fca-vm-uat-jboss',
'jetty':'fca-vm-uat-jetty'
},
'dev':{
'jboss':'fca-vm-dev-jboss',
'jetty':'fca-vm-dev-jetty'
},
'prod':{
'jboss':'fca-vm-prod-jboss',
'jetty':'fca-vm-prod-jetty'
}
}
print(server_list)
print("第一种查询方式")
print(server_list['uat']) #如果不存在这样的可以, 程序会报错
print("第二种查询方式")
print(server_list.get('test')) #如果不存在 这样的key, 将返回None,推荐使用.get()
#测试结果:
{'prod': {'jetty': 'fca-vm-prod-jetty', 'jboss': 'fca-vm-prod-jboss'}, 'dev': {'jetty': 'fca-vm-dev-jetty', 'jboss': 'fca-vm-dev-jboss'}, 'uat': {'jetty': 'fca-vm-uat-jetty', 'jboss': 'fca-vm-uat-jboss'}}
第一种查询方式
{'jetty': 'fca-vm-uat-jetty', 'jboss': 'fca-vm-uat-jboss'}
第二种查询方式
None
3.字典增加/改变元素,直接索引,赋值即可, 有这个key则更改, 无这个可以则增加
server_list = {
'uat': {
'jboss': 'fca-vm-uat-jboss',
'jetty':'fca-vm-uat-jetty'
},
'dev':{
'jboss':'fca-vm-dev-jboss',
'jetty':'fca-vm-dev-jetty'
},
'prod':{
'jboss':'fca-vm-prod-jboss',
'jetty':'fca-vm-prod-jetty'
}
}
print(server_list)
#增加字典的元素
server_list['test']={
'jboss':'fca-vm-test',
}
server_list['dev']['apache']='dev-apache'
#改变字典的value
server_list['uat']['jboss']='10.88.130.38'
{'dev': {'jboss': 'fca-vm-dev-jboss', 'jetty': 'fca-vm-dev-jetty'}, 'uat': {'jboss': 'fca-vm-uat-jboss', 'jetty': 'fca-vm-uat-jetty'}, 'prod': {'jboss': 'fca-vm-prod-jboss', 'jetty': 'fca-vm-prod-jetty'}}
{'test': {'jboss': 'fca-vm-test'}, 'dev': {'jboss': 'fca-vm-dev-jboss', 'jetty': 'fca-vm-dev-jetty', 'apache': 'dev-apache'}, 'uat': {'jboss': '10.88.130.38', 'jetty': 'fca-vm-uat-jetty'}, 'prod': {'jboss': 'fca-vm-prod-jboss', 'jetty': 'fca-vm-prod-jetty'}}
#运行结果:
4.删除字典的元素: del , pop
server_list = {
'uat': {
'jboss': 'fca-vm-uat-jboss',
'jetty':'fca-vm-uat-jetty'
},
'dev':{
'jboss':'fca-vm-dev-jboss',
'jetty':'fca-vm-dev-jetty'
},
'prod':{
'jboss':'fca-vm-prod-jboss',
'jetty':'fca-vm-prod-jetty'
}
}
print(server_list)
del server_list['uat']
server_list['dev'].pop('jboss')
print(server_list)
#运行结果:
{'prod': {'jetty': 'fca-vm-prod-jetty', 'jboss': 'fca-vm-prod-jboss'}, 'dev': {'jetty': 'fca-vm-dev-jetty', 'jboss': 'fca-vm-dev-jboss'}, 'uat': {'jetty': 'fca-vm-uat-jetty', 'jboss': 'fca-vm-uat-jboss'}}
{'prod': {'jetty': 'fca-vm-prod-jetty', 'jboss': 'fca-vm-prod-jboss'}, 'dev': {'jetty': 'fca-vm-dev-jetty'}}
5字典的update 属性
dir1 = {
'id':6103241990,
'name':'xiaoping',
'age':26
}
dir2 = {
'id':6103241988,
'name':'ruiping',
'sex':'woman'
}
print(dir1)
print(dir2)
dir1.update(dir2) #如果dir2有dir1 中的key,则updatedir1, 如果没有则保留dir1
print(dir1)
print(dir2)
#运行结果
{'id': 6103241990, 'age': 26, 'name': 'xiaoping'}
{'id': 6103241988, 'sex': 'woman', 'name': 'ruiping'}
{'id': 6103241988, 'age': 26, 'sex': 'woman', 'name': 'ruiping'}
{'id': 6103241988, 'sex': 'woman', 'name': 'ruiping'}
update
6.items 将字典转化为列表, 不建议使用
>>> a = {'name':'bianxiaoping', 'sex':'man'}
>>> a.items()
dict_items([('name', 'bianxiaoping'), ('sex', 'man')])
>>>
7.setdefault (if key exit , return a[key], if not a[key]='Not exist'
""" D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D """
>>> a = {'name':'bianxiaoping', 'sex':'man'}
>>> a.setdefault('age')
>>> a
{'age': None, 'name': 'bianxiaoping', 'sex': 'man'}
>>> a.setdefault('name')
'bianxiaoping'
>>> a.setdefault('job','Not exist')
'Not exist'
>>> a
{'age': None, 'name': 'bianxiaoping', 'sex': 'man', 'job': 'Not exist'}
8. 字典中的包含关系 in (只针对于key)
>>> a = {'name':'bianxiaoping', 'sex':'man'}
>>> 'sex' in a
True
>>> 'age' in a
False
>>> 'man' in a
False
>>>
python 数据类型 ----字典的更多相关文章
- Python 数据类型--字典类型
字典 dict 字典是Python的另一种有序的可变数据结构,且可存储任意类型对象. 字典是一种键值对的数据容器,每个键值(key:value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典 ...
- python数据类型:字典dict常用操作
字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存的: Key: 不可变(可哈希)的数据类型.并且键是唯一的,不重复的. Value:任意数据(int,str,boo ...
- Python数据类型-字典
字典(dict) 字典是key:value形式的一种表达形式,例如在Java中有map,JavaScript中的json,Redis中的hash等等这些形式.字典可以存储任意的对象,也可以是不同的数据 ...
- 9 python 数据类型—字典
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可 ...
- python数据类型——字典类型
字典(dictionary) python中唯一的映射类型,采用键值对(key-value)的形式储存数据,python对key进行哈希函数运算,所以key值必须是可哈希的,可哈希表示key必须是不可 ...
- python初步学习-python数据类型-字典(dict)
字典 字典类似于你通过联系人名字查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起.注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息. 注意,你只 ...
- Python数据类型--字典(dict)
Python中的字典是键值对(key-value)的无序集合.每个元素包含"键"和"值"两部分,这两部分之间使用冒号分隔,表示一种对应关系.不同元素之间用逗号分 ...
- python 基础 1.5 python数据类型(四)--字典
一.python 数据类型--字典 1.用字符串存储信息,如:存储“姓名,身高,性别”: In [1]: info='Tom 170 M' //字符串存储信息 In [3]: info[0:3] // ...
- python基础3 ---python数据类型二
ython基础 一.python数据类型 ------列表(list) 1.定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性:可存放多个不同类型的值:可修改指定索 ...
随机推荐
- Jquery的点击事件,三句代码完成全选事件
先来看一下Js和Jquery的点击事件 举两个简单的例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...
- SQL Server2014 SP2新增的数据库克隆功能
SQL Server2014 SP2新增的数据库克隆功能 创建测试库 --创建测试数据库 create database testtest use testtest go --创建表 )) --插入数 ...
- Node.js:dgram模块实现UDP通信
1.什么是UDP? 这里简单介绍下,UDP,即用户数据报协议,一种面向无连接的传输层协议,提供不可靠的消息传送服务.UDP协议使用端口号为不同的应用保留其各自的数据传输通道,这一点非常重要.与TCP相 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 基于改进人工蜂群算法的K均值聚类算法(附MATLAB版源代码)
其实一直以来也没有准备在园子里发这样的文章,相对来说,算法改进放在园子里还是会稍稍显得格格不入.但是最近邮箱收到的几封邮件让我觉得有必要通过我的博客把过去做过的东西分享出去更给更多需要的人.从论文刊登 ...
- css样式之超出隐藏
文本超出部分隐藏,总结两种方法. 1.单行隐藏 html代码 <div class="mi">当文字超过范围的时候,超出部分会隐藏起来.</div> css ...
- SharePoint 2013: A feature with ID has already been installed in this farm
使用Visual Studio 2013创建一个可视web 部件,当右击项目选择"部署"时报错: "Error occurred in deployment step ' ...
- android手机登录时遇到“QQ安全登录发现病毒”解决
android手机作为开源系统非常容易感染病毒,有时候我们会经常遇到手机QQ登录时检测到app被感染,一般情况是由手机感染病毒所引起的,安装腾讯管家后只能检测病毒和卸载感染病毒的软件,不能清除病毒.解 ...
- 实现php连接memcached
准备工作: 实现lnmp环境 给php添加模块,so库 下载扩展包:memcache-2.2.5.tgz wget http://pecl.php.net/get/memcache-2.2.5.tgz
- 《CPU的工作过程》
本文转载自inter官方网址:https://software.intel.com/zh-cn/articles/book-Processor-Architecture_CPU_work_proces ...