python取list里的值_如何从python的list中提想要的值

展开全部

$ python

Python 2.7.3 (default, Mar 14 2014, 11:57:14)

[GCC 4.7.2] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> lst=[

...     '11', '1', '100', '10\n',

...     '11', '2', '200', '20\n',

...     '11', '3', '300', '30\n',

...     '11', '4', '400', '40\n']

>>> # 第一步:将数据组织成方便使用的结构

>>> data = [

...     map(int, lst[i*4:(i+1)*4])

...     for i in xrange(len(lst)/4)

...     ]

>>> data

[[11, 1, 100, 10], [11, 2, 200, 20], [11, 3, 300, 30], [11, 4, 400, 40]]

>>> # 第二32313133353236313431303231363533e58685e5aeb931333337613138步就直接简单地计算好了

>>> 1. * sum([x[2] for x in data]) / len(data)

250.0

>>> 1. * sum([x[3] for x in data]) / len(data)

25.0

>>>

或者在要处理很多月份,并有按月计算的需求时:按月-数据的字典结构组织数据

并设一个计算平均值的函数就更简单了>>> lst=[

...     '11', '1', '100', '10\n',

...     '11', '2', '200', '20\n',

...     '11', '3', '300', '30\n',

...     '11', '4', '400', '40\n',

...     '12', '1', '120', '12\n',

...     '12', '2', '230', '23\n',

...     '12', '3', '340', '34\n',

...     '12', '4', '450', '45\n',

...     ]

>>>

>>> data = {}

>>> for x in [

...         map(int, lst[i*4:(i+1)*4])

...         for i in xrange(len(lst)/4)

...         ]:

...     data.setdefault(x[0], []).append(x[1:])

...

>>> def avg(serial):

...     return 1. * sum(serial) / len(serial)

...

>>> avg([x[1] for x in data[12]])  # 计算12月的第二个数据的平均值

285.0

>>>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值