内容简介: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 >>>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 6. Go 语言数据类型:字典与布尔类型
- Python基本数据类型之字典
- Swift 中如何使用字典类型作为范型约束
- Go 语言函数式编程系列(十二) —— 数据类型篇:字典类型的遍历与排序
- 6. Go语言中的字典与布尔类型
- python3 第十四章 - 数据类型之Dictionary(字典)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Learn Python the Hard Way
Zed A. Shaw / Addison-Wesley Professional / 2013-10-11 / USD 39.99
Master Python and become a programmer-even if you never thought you could! This breakthrough book and CD can help practically anyone get started in programming. It's called "The Hard Way," but it's re......一起来看看 《Learn Python the Hard Way》 这本书的介绍吧!