切换风格

Wizard Sky California Sunset glow Black Cloud Beige Dragon Lavender NewYear City Snow Flowers London
收藏本站XSS平台字符串转换jsfuck
基础篇6:python基础数据结构-python字典[复制链接]
发表于 2013-1-12 15:25:54 | 显示全部楼层 |!read_mode!
字典:


字典是无序的,它不能通过偏移来存取,只能通过键来存取。


字典 = {'key':value}
key:类似我们现实的钥匙,而value则是锁。
一个钥匙开一个锁

特点:

内部没有顺序,通过键来读取内容,可嵌套,方便我们组织多种数据结构,
并且可以原地修改里面的内容,

属于可变类型。


组成字典的键必须是不可变的数据类型,比如,数字,字符串,元组等,列表等可变对象不能作为键.

创建嵌套类型的字典



1 创建字典。
{},
dict()


info = {'name':'lilei', 'age': 20}


info  = dict(name='lilei',age=20)




2 添加内容
a['xx'] = 'xx'   

比如  
info['phone'] = 'iphone5'




3 修改内容
a['xx'] = 'xx' ,


info['phone'] = 'htc'



update 参数是一个字典的类型,他会覆盖相同键的值


info.update({'city':'beijing','phone':'nokia'})   

htc 变成了nokia了




4 删除
del,clear,pop


del info['phone']                 #删除某个元素


info.clear()                #删除字典的全部元素


info.pop('name')
                    #这个和列表中的pop区别:列表在pop没有的元素时会抛出异常,而字典的pop可以自定义错误
info.pop('xxx','is not define')



5 in 和 has_key() 成员关系操作


比如:


1 phone in info


2  info.has_key('phone')




6
keys():
返回的是列表,里面包含了字典的所有键


values():
返回的是列表,里面包含了字典的所有值


items():生成一个字典的容器:[()]



7 get:
从字典中获得一个值


info.get('name')


info.get('age2','22')        #第二个参数的意义也是和pop函数一样,在异常时返回的值




发表于 2013-1-12 15:27:07 | 显示全部楼层
习题
字典习题:
已知字典:ainfo = {'ab':'liming','ac':20}

完成下面的操作
1 使用2个方法,输出的结果:
ainfo = {'ab':'liming','ac':20,'sex':'man','age':20}
#第一种
ainfo = {'ab':'liming','ac':20}
ainfo['sex'] = 'man'
ainfo['age'] = '20'
print ainfo;

#第二种
ainfo = {'ab':'liming','ac':20}
ainfo.update({'sex':'man','age':'20'})
print ainfo;


2 输出结果:['ab','ac']
ainfo = {'ab':'liming','ac':'20'}
d = list(ainfo.keys())
print d;

3 输出结果:['liming','20']
ainfo = {'ab':'liming','ac':'20'}
d = list(ainfo.values())
print d;

4 通过2个方法返回键名ab对应的值。
ainfo = {'ab':'liming','ac':'20'}
print ainfo['ab']
print ainfo.values()[1]


5 通过2个方法删除键名ac对应的值。
ainfo = {'ab':'liming','ac':'20'}
del ainfo['ac']
print ainfo
ainfo = {'ab':'liming','ac':'20'}
ainfo.pop('ac')
print ainfo




代码区

GMT+8, 2019-11-12 09:53

Powered by Discuz! X2

© 2001-2018 Comsenz Inc.

回顶部