Python字典表笔记

字典表的声明

>>> d = {'Price': 39.0, 'Title': 'Python入门'}
>>> d['Title']
'Python入门'
>>> d['Author'] = 'Jerry' #直接添加一对新的键与值
>>> d
{'Price': 39.0, 'Title': 'Python入门', 'Author': 'Jerry'}

>>> emp = dict(name = 'Mike', age = 20, job = 'dev') #通过dict()构造函数声明字典表(不用冒号,用等号)
>
>>> emp
{'name': 'Mike', 'age': 20, 'job': 'dev'}
>>> len(emp)
3

>>> emp = {'age':20, 'name':{'firstname':'Jerry', 'lastname':'Lee'}} #字典表可嵌套字典表
>>> emp
{'age': 20, 'name': {'firstname': 'Jerry', 'lastname': 'Lee'}}
>>> emp.get('name')
{'firstname': 'Jerry', 'lastname': 'Lee'}
>>> emp['name']['firstname']
'Jerry'

字典表的获取

>>> d = {'Price': 39.0, 'Title': 'Python入门'}
>>> d['price'] #大小写不一致。报错
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    d['price']
KeyError: 'price'

>>> d.get('Price')
39.0
>>> d.get('price') #使用get方法,无该键名不报错
>>> d.get('price',0.0) #使用get方法,若无该键名则返回默认值0.0
0.0

合并字典表

>>> emp = dict(name = 'Mike', age = 20, job = 'dev')
>>> dep = {'department':'技术部'}
>>> emp.update(dep) 
>>> emp
{'name': 'Mike', 'age': 20, 'job': 'dev', 'department': '技术部'}

字典表属性

>>> emp.keys() #只看键(返回的是视图,不是列表)
dict_keys(['name', 'age', 'job', 'department'])
>>> emp.values() #只看值
dict_values(['Mike', 20, 'dev', '技术部'])

>>> for k in emp.keys(): #可以像列表一样遍历
	print(k)

	
name
age
job
department
>>> for k,v in emp.items(): #键和值
	print('{} => {}'.format(k,v))

	
name => Mike
age => 20
job => dev
department => 技术部

字典表排序显示

ks = d.keys()
>>> ks
dict_keys(['a', 'b', 'c', 'd'])
>>> ks.sort() #返回的并非列表,不能用sort()方法
Traceback (most recent call last):
  File "<pyshell#16>", line 1, in <module>
    ks.sort()
AttributeError: 'dict_keys' object has no attribute 'sort'
>>> for k in sorted(ks): #方法一 使用全局函数sorted()
	print(k,d.get(k))

	
a 1
b 2
c 3
d 4

>>> ks = list(d.keys()) #方法二 将keys放入列表
>>> ks.sort()
>>> ks
['a', 'b', 'c', 'd']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值