Python3表示记录_字典列表

本文介绍如何使用Python进行数据处理,包括创建字典记录、列表解析、生成器表达式以及操作和更新字典对象的方法。通过具体示例展示了如何查询、筛选和计算数据,类似于SQL查询效果,但操作的是内存中的对象。

[root@bigdata script_ce]# python3
Python 3.7.3 (default, Oct 23 2019, 17:27:01) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> bob = dict(name='Bob Smith',age=42,pay=30000,job='dev')
>>> sue = dict(name='Sue Jones',age=45,pay=40000,job='hdw')
>>> bob
{'name': 'Bob Smith', 'age': 42, 'pay': 30000, 'job': 'dev'}
>>> sue
{'name': 'Sue Jones', 'age': 45, 'pay': 40000, 'job': 'hdw'}
>>> 
>>> people = [bob,sue]
>>> for person in people:
...     print(person['name'],person['pay'],sep=',')
... 
Bob Smith,30000
Sue Jones,40000
>>> for person in people:
...     if person['name']=='Sue Jones':
...             print(person['pay'])
... 
40000
>>> 

>>> names = [person['name'] for person in people]
>>> names
['Bob Smith', 'Sue Jones']

>>> list(map((lambda x: x['name']),people))
['Bob Smith', 'Sue Jones']

>>> sum(person['pay'] for person in people)
70000

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

#类似SQL查询

>>> [rec['name'] for rec in people if rec['age'] >=45]
['Sue Jones']

>>> [(rec['age']** 2 if rec['age']>=45 else rec['age'])for rec in people]
[42, 2025]

>>> G = (rec['name'] for rec in people if rec['age'] >= 45)
>>> next(G)
'Sue Jones'

>>> G = ((rec['age']** 2 if rec['age'] >= 45 else rec['age']) for rec in people)
>>> G.__next__()
42

字典是通常用的Python对象,所以这些记录也可以使用通常的Python语法进行访问和更新.

>>> for person in people:
...     print(person['name'].split()[-1])
... 
Smith
Jones

>>> person['pay']*=1.10
>>> 
>>> for person in people:print(person['pay'])
... 
30000
44000.0

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值