Python数据结构:映射(map)——字典

本文介绍了Python中的字典数据结构,包括字典的基础知识,如使用任意不可变对象作为键,以及如何将列表转换为字典。文章详细讲解了字典的遍历、clear、copy、get、pop、popitem和update等方法,并提供了实例说明。通过这些方法,可以高效地操作和管理字典中的数据。
摘要由CSDN通过智能技术生成

dict 基础

映射——字典(Python唯一内建的映射类型):可以使用任意不可变对象标识元素,因为是不可变的,所以一般最常用 key 类型就是 string 和 tuple

1. 格式化字符串在 dict 中的应用:

应用场景:(dict 的元素多起来的时候不要遗漏逗号 ,)

people = {
'Alice':{
    'phone':'2341'<span style="color:#cc0000;">,</span> # attention , missing
    'addr':'Foo drive'
    },
'Beth':{
    'phone':'9102',
    'addr':'Bar street 42'
    },
'Cecil':{
    'phone':'3158',
    'addr':'Baz avenue 90'
    }
}
labels = {
'phone':'phone number',
'addr':'address'
}

name = raw_input('Name:')
request = raw_input('Phone number (p) or address (a)?')

if request == 'p':key = 'phone'
elif request =='a':key = 'addr'

if name in people:
    print name
    print " %s's %s is %s." % (name, labels[key],people[name][key])
参考 字符串格式化(1. 字符串格式化 %——格式化字符串 % 需要放到格式化字符串的值)中所提到的,如果进行多个值的匹配,会用到tuple,见上述代码最后一行 % 后面是一个tuple。

dict 在字符串格式化中也很有用处,适用情况是 dict 的 key 必须是string:

phonebook = {'Beth':'9102', 'Alice':'2341', 'Cecil':'3258'}
str0 = "Cecil's phone number is %(Cecil)s"
print str0 % phonebook
上述代码中将格式化字符串的 转换说明符替换成为了: %(key) 的格式,显示出来的就是 key为 Cecil 的在dict 中的value

2. dict 与 list:
有人名列表和对应的电话号码列表,根据人名查找相应电话:

tel = ['2345', '80
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值