python数据类型之字典(六)

一、什么是字典类型

变量info为字典类型:

info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}

说明:
- 字典和列表一样,也能够存储多个数据
- 列表中找某个元素时,是根据下标进行的
- 字典中找某个元素时,是根据’名字’(就是冒号:前面的那个值,例如上面代码中的’name’、’id’、’sex’)
- 字典的每个元素由2部分组成,键:值。例如 ‘name’:’班长’ ,’name’为键,’班长’为值

二、字典的增删改查

<1>修改元素:修改字典值: 变量名[‘键’] = 数据

字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改

demo:

info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}

newId = raw_input('请输入新的学号')

info['id'] = int(newId)

print('修改之后的id为%d:'%info['id'])

结果:

请输入新的学号2323为手动输入)
修改之后的id23:
<2>添加元素 :变量名[‘键’] = 数据

demo:访问不存在的元素

info = {'name':'班长', 'sex':'f', 'address':'地球亚洲中国北京'}

print('id为:%d'%info['id'])

结果:

Traceback (most recent call last):
  File "D:/python/认识py/02.py", line 23, in <module>
    print('id为:%d' % info['id'])
KeyError: 'id'

如果在使用 变量名[‘键’] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素

demo:添加新的元素

info = {'name':'班长', 'sex':'f', 'address':'地球亚洲中国北京'}

# print('id为:%d'%info['id'])#程序会终端运行,因为访问了不存在的键

newId = raw_input('请输入新的学号')

info['id'] = newId

print('添加之后的id为:%d'%info['id'])

结果:

请输入新的学号188
添加之后的id为: 188
<3>删除元素 del clear()

对字典进行删除操作,有一下几种:

1)、del删除指定的元素

demo:

info = {'name':'班长', 'sex':'f', 'address':'地球亚洲中国北京'}

print('删除前,%s'%info)

del info['name']

print('删除后,%s'info)

结果

删除前,{'name': '班长', 'sex': 'f', 'address': '地球亚洲中国北京'}
删除后,{'sex': 'f', 'address': '地球亚洲中国北京'}
del删除整个字典

demo:

info = {'name':'monitor', 'sex':'f', 'address':'China'}

print '删除前,',info

del info

print '删除后,',info

结果

Traceback (most recent call last):
  File "D:/python/认识py/02.py", line 27, in <module>
    print('删除后,%s'%info)
NameError: name 'info' is not defined
删除前,{'name': '班长', 'sex': 'f', 'address': '地球亚洲中国北京'}
clear清空整个字典

demo:

info = {'name':'monitor', 'sex':'f', 'address':'China'}

print '清空前,',info

info.clear()

print '清空后,',info

结果

删除前,{‘name’: ‘班长’, ‘sex’: ‘f’, ‘address’: ‘地球亚洲中国北京’}
删除后,{}

三、常见的字典取值函数

<1>len()测量字典中,键值对的个数
<2>keys返回一个包含字典所有KEY的列表
info = {'name': '班长', 'sex': 'f', 'address': '地球亚洲中国北京'}

print(info.keys())

结果为:

dict_keys(['name', 'sex', 'address'])
<3>values 返回一个包含字典所有value的列表
info = {'name': '班长', 'sex': 'f', 'address': '地球亚洲中国北京'}

print(info.values())

结果为:

dict_values(['班长', 'f', '地球亚洲中国北京'])
<4>items 返回一个包含所有(键,值)元组的列表
info = {'name': '班长', 'sex': 'f', 'address': '地球亚洲中国北京'}

print(info.items())

结果为:

dict_items([('name', '班长'), ('sex', 'f'), ('address', '地球亚洲中国北京')])
<5>判断一个key是否存在于某个dict

dict.has_key(key)如果key在字典中,返回True,否则返回False

has_key只适用于python2.x,在python 3.0版本开始将使用in/not in 代替

python2.x中

dict = {'Name': 'Maxsu', 'Age': 7}
print ("Value : %s" %  dict.has_key('Age'))

python3.x中使用

dict = {'Name': 'Maxsu', 'Age': 7}
print (  'Age' in  dict.keys() )
print (  'Age' in  dict )

print (  'Sex'  not in  dict.keys() )
print (  'Sex' not in  dict )

结果都为true

字典的遍历

<1> 遍历字典的key(键)

dict = {'Name': 'Maxsu', 'Age': 7}
for i in dict.keys():
    print  (i)

结果为:

Name
Age

<2> 遍历字典的value(值)

dict = {'Name': 'Maxsu', 'Age': 7}
 for i in dict.values():
    print  (i)

结果为:

Maxsu
7

<3> 遍历字典的项(元素)

dict = {'Name': 'Maxsu', 'Age': 7}
for i in dict.items():
    print  (i)

结果为:

('Name', 'Maxsu')
('Age', 7)

<4> 遍历字典的key-value(键值对)

dict = {'Name': 'Maxsu', 'Age': 7}
for i ,v  in dict.items():
    print  ("key = %s,value = %s"%(i,v)) 

结果为:

key = Name,value = Maxsu
key = Age,value = 7
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值