python字典的创建方法总结及操作

传统创建字典的方法:

bob = {'name':'Bob Smith', 'age':42, 'pay':40000}
sue = {'name':'Sue Jones', 'age':45, 'pay':50000}

使用关键词参数和类型构造函数,只需要所有的键都是字符串:

jim = dict(name="Jim Green", age="35", pay="2000")
print(jim)

{'name': 'Jim Green', 'age': '35', 'pay': '2000'}

一个字段一个字段填写字典:

>>> sue = {}
>>> sue['name'] = 'Sue Jones'
>>> sue['age'] = '45'
>>> sue['pay'] = '40000'
>>> sue['job'] = 'hdw'
>>> sue
{'name': 'Sue Jones', 'age': '45', 'pay': '40000', 'job': 'hdw'}

使用zip函数将键/值连接在一起:

names = ['name', 'age', 'pay', 'job']
values = ['Sue Jones', 40, 30000, 'hrd']
print(list(zip(names, values)))
print(dict(zip(names, values)))

[('name', 'Sue Jones'), ('age', 40), ('pay', 30000), ('job', 'hrd')]
{'name': 'Sue Jones', 'age': 40, 'pay': 30000, 'job': 'hrd'}

通过一个键序列和所有键的可选初始值来创建字典:(便于初始化空字典)

>>> fields = ('name', 'age', 'pay', 'job')
>>> record = dict.fromkeys(fields, '?')
>>> record
{'name': '?', 'age': '?', 'pay': '?', 'job': '?'}
>>> fields = ['name', 'age', 'pay', 'job']
>>> record = dict.fromkeys(fields, '?')
>>> record
{'name': '?', 'age': '?', 'pay': '?', 'job': '?'}

提取多个字典中的多个值:

创建列表

bob = {'name':'Bob Smith', 'age':42, 'pay':40000}
sue = {'name':'Sue Jones', 'age':45, 'pay':50000}
people = [bob, sue]
names = [person['name'] for person in people]
print(names)
print(sum(person['pay'] for person in people))

['Bob Smith', 'Sue Jones']
90000

想列表解析和按需生成器这样的工具,可以达到类似sql查询这样的效果,只是这里操作的是内存中的对象。


升职加薪:

 
bob = {'name':'Bob Smith', 'age':42, 'pay':40000}
sue = {'name':'Sue Jones', 'age':45, 'pay':50000}
people = [bob, sue]

for person in people:
    print(person['name'].split()[-1])
    person['pay'] *= 1.1
    print(person['pay'])
Smith
44000.0
Jones
55000.00000000001






  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值