Python基础:dictionary

0x00 简介

字典(dictionary),是无序的,不能通过偏移来存取,只能通过键来读取内容。dic属于可变类型,但是组成字典的键必须是不可变的数据类型,比如数字、字符串、元组等。

语法:dic = {'key':value}

0x01 基本操作

两种定义的方法

>>> ainfo = {'name':'Xiaoming', 'gender':'male'}
>>> binfo = dict(name='Xiaoming', gender='male')

嵌套和修改

>>> binfo = {'a' : [1,2,3] , 'b' : [4,5,6]}    #字典中嵌套列表
>>> binfo
{'a' : [1, 2, 3] , 'b' : [4, 5, 6] }  
>>> binfo['a'][2] = 5 #value可在原地修改,属于可变类型 >>> binfo {'a' : [1, 2, 5] , 'b' : [4, 5, 6] }

两种添加的方法

>>> info = {'name':'Xiaoming', 'gender':'male'}
>>> info['age'] = 10    #单个添加key和value
>>> info
{'name':'Xiaoming', 'gender':'male', 'age':10}

>>> info = {'name':'Xiaoming', 'gender':'male'}
info.update({'age':11, 'city':'Shanghai'})    #若update的key已存在,则会覆盖原value;若key不存在,则是创建
>>> info
{'name':'Xiaoming', 'gender':'male','age':11, 'city':'Shanghai'}

三种删除的方法

del

>>>info = {'name':'Xiaoming', 'gender':'male','age':11, 'city':'Shanghai'}
>>>del info['city']    #仅仅删除city这一个key
>>>del info    #删除info这个dic

clear

>>> a = {'info':'info','age''=22}
>>> a.clear()

pop

>>> a = {'name':'Sam','age':22}
>>> a.pop('age')    #传入需要删除的key,返回value,然后从字典中删除
22
>>> a
{'name':'Sam'}
>>> a.pop('wealth','The key you want to pop does not exist')    #设置一个默认值,当pop的对象不存在时则提示该句话
'The key you want to pop does not exist'

注:列表使用pop方法时,指定的是索引的下标,如a.pop(0);而字典使用pop方法时,指定的是键名。

has_key方法:判断某个键时候包含于字典中

>>>women.has_key('dick')
False

以列表的形式单独返回key或者value

>>> info = {'name':'Jerry', 'age'=23}
>>> info.keys()
['name','age']
>>> info.values()
['Jerry',23]

items:生成一个字典的容器

>>> info = {'name':'Jerry', 'age'=23}
>>> info.items()
[('name':'Jerry'),('age':23)]

get:由键名返回值

>>> info = {'name':'Jerry', 'age'=23}
>>> info.get('name')
'Jerry'
>>> info.get('gender','do not exist')    #当get的键名不存在时,返回后面这句话
'do not exist'
原文地址:https://www.cnblogs.com/tzuxung/p/5698979.html