数据结果之字典表

字典表的数据形态是怎样的?可以进行什么操作?字典表和列表很像,但是具体有什么差异呢?

字典表的声明

  1. 通过{‘键1’: 值, ‘键2’: 值, … }
emp = {'name':'mike', 'age': 20, 'job': 'dev'}
  1. 通过dict函数 dict(键 = 值)注意键不需要加引号
emp=dict(name= 'mike', age = 20, job = 'dev')

定义一个字典表的键时,必须要用不可变的类型(不支持原位改变),如字符串与数值的组合,但不能用列表

d['name']
d['name1']

获取

emp['name']
emp.get('name')

emp.get('Name',0.0)#找不到则结果显示0.0

原位改变

  1. 如果要增加一个键,可以利用emp.update方法:
dep = {'department' : 'ABC'}

emp.update(dep)
  1. 如果要减少一个键,可以利用emp.pop的方法:
emp.pop('age')

查看键和值

emp.keys()

emp.values()

emp.items()

返回的结果不是列表,不能进行python3默认的所有列表操作,但可以遍历:

for k in emp.keys(): print(k)

for v in emp.values(): print(v)

for k,v in emp.items(): print('{} => {}'.format(k, v))

如果是字典表有嵌套的情况:

emp = {'name': {'first': 'mike', 'last' : 'jerry'},'age': 20, 'job': 'dev'}

emp.get('name')

emp['name']['first']

排序

Python 3.6 改写了 dict 的内部算法,因此 3.6 的 dict 是有序的,在此版本之前皆是无序

  1. 将keys()放入列表
d= {'a': 1, 'b':2}

ks = list(d.keys())

ks.sort()

for k in ks: print(d.get(k))
  1. 使用全局函数sorted,可以运用在可迭代对象上
d= {'a': 1, 'b':2}

ks = d.keys()

for k in sorted(ks):

print(k, d.get(k))
数据结果之字典表数据结果之字典表 shizi_yjx 发布了3 篇原创文章 · 获赞 0 · 访问量 59 私信 关注
上一篇:Centos之链接命令


下一篇:Centos之目录处理命令