字典

对字典的认识:

字典由键(key)和对应值(value)成对组成。字典也被称作关联数组或哈希表。

注意:

  • 键必须独一无二,但值则不必。即,键是不能重复,但值可以是重复的;
  • 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
  • 键必须不可变,所以可以用数,字符串或元组充当,所以用列表就不行;
  • 值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。


创建字典(三种方法)

第一种方法:创建空字典

例:

d = {}   #可以往空字典添加内容

第二种方法:创建有内容的字典

person = {"name":"xiaoxu","blog":"http://blog.csdn.net/xsj_blog"}

第三种方法:先创建元组,元组里面是列表元素,每个列表都有两个元素,这两个元素分别对应着即将创建字典的key和value

例:

name = ([1,'google'],[2,'facebook'])
web = dict(name)

第四种方法:使用fromkeys创建字典,其语法格式如下

mydict = {}.fromkeys(arg)
例:
>>> book = {}.fromkeys(("python","author"),"xiaoxu")
>>> book
{'python': 'xiaoxu', 'author': 'xiaoxu'}
>>>


访问字典的值

>>> dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
>>> print dict['Name']
Zara
>>>


修改字典

>>> dict = {'Name': 'xiaoxu', 'Age': 20, 'Class': 'First'};
>>> dict['Age'] = 23;
>>> print dict['Age']
23
>>>


删除字典元素

例:

>>> dict = {'Name': 'xiaoxu', 'Age': 20, 'Class': 'First'};
>>>dict.clear()  #清空字典所有条目
>>>del dict;   #删除字典


六、字典常用方法

copy()函数

作用:返回一个字典的浅复制

例:

>>> d = {"name":"xiaoxu","blog":"http://blog.csdn.net/xsj_blog"}
>>>f=d.copy()
>>> f
{'blog': 'http://blog.csdn.net/xsj_blog', 'name': 'xiaoxu'}
>>>

clear()函数

作用:删除字典内所有元素

例:

>>>dict = {'Name': 'xiaoxu', 'Age': 20, 'Class': 'First'};
>>>dict.clear()  #清空字典所有条目

get()函数

语法格式:get(key, default=None)

作用:返回指定键的值,如果值不在字典中返回default值

例:

>>> d = {'enjoy':['python'],'name':'xiaoxu'}
>>> d.get('name')
'xiaoxu'
>>> d.get("teacher","duolaoshi")
'duolaoshi'
>>>

setdefault()

语法格式:setdefault(key, default=None)

作用:和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default

例:

>>> d = {'enjoy':['python'],'name':'xiaoxu'}
>>> d.setdefault('name')
'xiaoxu'
>>> d.setdefault('city','suzhou')
'suzhou'
>>> d
{'enjoy': ['python'], 'city': 'suzhou', 'name': 'xiaoxu'}
>>>
>>> e.setdefault('teacher')
>>> e
{'enjoy': ['python'], 'city': 'suzhou', 'name': 'xiaoxu', 'teacher': None}
>>>

items()函数

作用:以列表返回可遍历的(键, 值) 元组数组

例:

>>> d = {'enjoy': ['python'], 'city': 'suzhou', 'name': 'xiaoxu'}
>>> d.items()
[('enjoy', ['python']), ('city', 'suzhou'), ('name', 'xiaoxu')]
>>>

keys()函数

作用:以列表返回一个字典所有的键

例:

>>> d = {'enjoy': ['python'], 'city': 'suzhou', 'name': 'xiaoxu'}
>>> d.keys()
['enjoy', 'city', 'name']
>>>

values()函数

作用:以列表返回字典中的所有值

例:

>>> d = {'enjoy': ['python'], 'city': 'suzhou', 'name': 'xiaoxu'}
>>> d.values()
[['python'], 'suzhou', 'xiaoxu']
>>>
———-

pop()函数


popitem()函数


update()函数

作用:把字典dict2的键/值对更新到dict里

例:

>>> d1 = {"lang":"python"}
>>> d2 = {"name":"xiaoxu"}
>>> d1.update(d2)
>>> d1
{'lang': 'python', 'name': 'xiaoxu'}
>>> d2
{'name': 'xiaoxu'}
>>>
>>>
>>> d2.update([("city","suzhou"),("web","google")])
>>> d2
{'city': 'suzhou', 'name': 'xiaoxu', 'web': 'google'}
>>>

has_key()函数

语法格式:has_key(key)

作用:如果键在字典dict里返回true,否则返回false

例:

>>>d = {'enjoy': ['python'], 'city': 'suzhou', 'name': 'xiaoxu'}
>>>d.has_key("name")
>>>True
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值