码迷,mamicode.com
首页 > 编程语言 > 详细

Python学习进程(10)字典

时间:2016-07-23 00:41:15      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:

    本节介绍Python中的字典:是另一种可变容器模型,且可存储任意类型对象

 

    (1)字典简介:

    字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

    注意:键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

 

    (2)字典的操作:

    包括创建字典、访问字典元素、修改字典的值、删除字典指定元素,删除字典:

Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
#1.创建字典:
>>> dic={name:MenAngel,age:19,sex:};
>>> print dic
{age: 19, name: MenAngel, sex: \xc4\xd0}
#2.修改字典中元素
>>> dic[name]=sunjimeng
#3.访问字典中指定元素
>>> print dic
{age: 19, name: sunjimeng, sex: \xc4\xd0}
>>> dic[name]
sunjimeng
>>> dic
{age: 19, name: sunjimeng, sex: \xc4\xd0}
#4.删除字典中指定元素
>>> del dic[sex]
>>> dic
{age: 19, name: sunjimeng}
#5.删除字典中所有元素
>>> dic.clear()
>>> dic
{}
#6.删除字典
>>> del dic

 

    (3)字典键的特性:

    注意:字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。

    1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住:

    2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行:

Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> dic={name:MenAngel,age:19,name:sunjimeng}
>>> dic
{age: 19, name: sunjimeng}
#键可以用数字,字符串,可以用元组
>>> dic[4]=346 >>> dic {age: 19, 4: 346, name: sunjimeng} >>> dic[(abc,20)]=sex >>> dic {(abc, 20): sex, age: 19, 4: 346, name: sunjimeng}
#但不能用列表
>>> dic[[20,]]=20 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unhashable type: list

 

    (4)字典内置函数或方法:

    1)字典内置函数:

技术分享

#1.第一种字典初始化方式:
>>> dic1={}
>>> dic1[name]=MenAngel;
>>> dic1[age]=20;
>>> dic1[sex]=;
#2.第二种字典初始化方式
>>> dic2={name:MenAngel,age:20,sex:]
>>> dic1
{age: 20, name: MenAngel, sex: \xc4\xd0}
>>> dic2
{age: 20, name: MenAngel, sex: \xc4\xd0}
>>> cmp(dic1,dic2)
0
>>> len(dic1)
3
>>> str(dic1)
"{‘age‘: 20, ‘name‘: ‘MenAngel‘, ‘sex‘: ‘\\xc4\\xd0‘}"
>>> type(dic1)
<type dict>

    2)Python字典的内置方法:

 技术分享

>>> dict1={age: 20, name: MenAngel, sex: \xc4\xd0}
>>> dict2=dict1.copy()
>>> list1=dict1.keys()
>>> list2=dict1.values()
>>> dict1.has_key(name)
True
>>> dict1,dict2
({age: 20, name: MenAngel, sex: \xc4\xd0}, {age: 20, name: MenAngel, sex: \xc4\xd0})
>>> list1,list2
([age, name, sex], [20, MenAngel, \xc4\xd0])
>>> dict1[name]=sunjimeng
>>> dict1,dict2
({age: 20, name: sunjimeng, sex: \xc4\xd0}, {age: 20, name: MenAngel, sex: \xc4\xd0})
>>> dict1.update(dict2)
>>> dict1,dict2
({name: MenAngel, age: 20, sex: \xc4\xd0}, {age: 20, name: MenAngel, sex: \xc4\xd0})
>>> dict.setdefault(abc,123)
20
>>> dict1.setdefault(abc,123)
123
>>> dict1.setdefault(abc,456)
123
>>> dict1.items()
[(abc, 123), (name, MenAngel), (age, 20), (sex, \xc4\xd0)]

Python学习进程(10)字典

标签:

原文地址:http://www.cnblogs.com/MenAngel/p/5694725.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!