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
>>>
时间: 2024-10-25 00:26:13

python 数据类型 ----字典的相关文章

python数据类型:字典dict常用操作

字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存的: Key: 不可变(可哈希)的数据类型.并且键是唯一的,不重复的. Value:任意数据(int,str,bool,tuple,list,dict,set),包括后面要学的实例对象等. 在Python3.5版本(包括此版本)之前,字典是无序的. 在Python3.6版本之后,字典会按照初建字典时的顺序排列(即第一次插入数据的顺序排序). 当然,字典也有缺点:他的缺点就是内存消耗巨大. 优点:查询速度快,映射型

python数据类型-----字典

今天来总结下python3.4版本字典的一些操作方法. 字典是Python里面一种无序存储结构,存储的是键值对 key - value.关键字应该为不可变类型,如字符串.整数.包含不可变对象的元组.字典的创建很简单,用 d = {key1 : value2, key2 : value2}的形式就可以创建一个新的字典,当然也可以通过 dict 接受一个含有键,值的序列对或者关键字参数来创建字典.键可以是多种类型,但键是唯一的不重复的,值可以不唯一 字典: 1.in语句,判断一个元素(键)是否在一个

python数据类型——字典

引入 没有字典的时候我们可能会这么做: >>> t = ['name', 'age', 'sex'] >>> v = ['chen', 24, 'male'] >>> zip(t,v) [('name', 'chen'), ('age', 24), ('sex', 'male')] >>> v = ['chen', 24] >>> zip(t,v) [('name', 'chen'), ('age', 24)] 也可

python数据类型-字典-016

一.Dictionary(字典) 1.字典(dictionary)是Python中另一个非常有用的内置数据类型. 2.列表是有序的对象结合,字典是无序的对象集合.两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取. 3.字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合. 4.键(key)必须使用不可变类型. 5.在同一个字典中,键(key)必须是唯一的. 二.实例 #!/usr/bin/python3 dict = {

Python:基础数据类型--字典

基础数据类型--字典 Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示: 键必须是唯一的,但值则不必. d = {key1 : value1, key2 : value2 } 字典:增 dic = {'name': '老男孩','age': 10000, 'sex': '男'} dic['hobby'] = 'old

Python数据类型-6 字典

字典 Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度.但它是无序的,包含的元素个数不限,值的类型也可以是其它任何数据类型! 字典的key必须是不可变的对象,例如整数.字符串.bytes和元组,但使用最多的还是字符串. 列表.字典.集合等就不可以作为key.同时,同一个字典内的key必须是唯一的,但值则不必. 字典可精确描述为不定长.可变.无序.散列的集合类型 字典的每个键值对用冒号(:

Python数据类型及其方法详解

Python数据类型及其方法详解 我们在学习编程语言的时候,都会遇到数据类型,这种看着很基础也不显眼的东西,却是很重要,本文介绍了python的数据类型,并就每种数据类型的方法作出了详细的描述,可供知识回顾. 一.整型和长整型 整型:数据是不包含小数部分的数值型数据,比如我们所说的1.2.3.4.122,其type为"int" 长整型:也是一种数字型数据,但是一般数字很大,其type为"long" 在python2中区分整型和长整型,在32位的机器上,取值范围是-2

python数据类型整理

Python中常见的数据结构可以统称为容器(container).序列(如列表和元组).映射(如字典)以及集合(set)是三类主要的容器. 一.序列(列表.元组和字符串) 序列中的每个元素都有自己的编号.Python中有6种内建的序列.其中列表和元组是最常见的类型.其他包括字符串.Unicode字符串.buffer对象和xrange对象.下面重点介绍下列表.元组和字符串. 1.列表 列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能. (1).创

Python数据类型-list

Python-List详解 列表(list)作为python的一种数据类型,常用它进行一些复合数据的分组,list的形式是[value1,value2,value3,value4....valuen],list的每项数据不需要是同一类型,可以是任意的python数据类型. >>> l1 = [1,2,3,'name',[1,2,3],{'age':18},(1,2,3)] >>> l1 [1, 2, 3, 'name', [1, 2, 3], {'age': 18},