Python中文
首页
教程
问答
标签
搜索
登录
注册
如何计算“for”循环中最后一项的平均值?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有以下Python 3代码:</p> <pre><code>import random import numpy as np data = [] for i in range(0, 100): value = random.randrange(100) avg10 = np.average(data[:-10]['value']) data += [{'value': value, 'avg10': avg10}] </code></pre> <p>它的目标是在列表中生成100个随机数字以及最后10个项目的平均值。在</p> <p>不幸的是,代码失败:</p> ^{pr2}$ <p>因为我不确定如何从字典列表中访问10个last value项目(如果10个项目都不可用,则为更少的项目)并将其传递给numpy的<code>average</code>函数。在</p> <p>例如,我期望输出如下:</p> <blockquote> <p><code>[{'value': 11, 'avg10': 11}, {'value': 62, 'avg10': 36.5}, {'value': 56, 'avg10': 43}, {'value': 48, 'avg10': 44.25}, {'value': 43, 'avg10': 41.8}]</code></p> </blockquote> <p>等等。在</p> <p>其中<code>avg10</code>是最后(至少)10个项目相对于当前项目的平均值(理想情况下包括当前项目,但不必如此)。如果前一个元素只有一个,那么它是1个元素的平均值,如果是两个元素,则是两个值项的平均值,依此类推(最后10个元素的平均值)。在</p> <p>在这种情况下,正确的语法是什么?在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>错误消息给出了一个很好的提示:“列表索引必须是整数或切片,而不是str”。换句话说,我们必须寻找使用字符串作为列表索引的地方。在</p> <p><code>data</code>是一个dict列表。因此,<code>data[:-10]</code>也是一个dict列表,意思是{<cd3>}没有意义。您需要类似<code>[x['value'] for x in data[:-10]]</code>的内容,遍历dict列表。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
10 回答
无法使用Django\u mssql\u后端迁移到外部hos
1 回答
无法使用Django&Python3.4连接到MySql
8 回答
无法使用Django+nginx上载媒体文件
3 回答
无法使用Django1.6导入名称模式
5 回答
无法使用Django1.7和mongodb登录管理站点
10 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
4 回答
无法使用Djangockedi验证CBV中的字段
9 回答
无法使用Djangocketditor上载图像(错误400)
10 回答
无法使用Djangocron进行函数调用
4 回答
无法使用Djangofiler djang上载文件
6 回答
无法使用Djangokronos
7 回答
无法使用Djangomssql provid
4 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
1 回答
无法使用Djangomssq迁移Django数据库
5 回答
无法使用Djangonox创建用户
10 回答
无法使用Djangopyodb从Django查询SQL Server
2 回答
无法使用Djangopython3ldap连接到ldap
10 回答
无法使用Djangoredis连接到redis
2 回答
无法使用Django中的FK创建新表
10 回答