首页 > 解决方案 > 试图获取 for 循环拾取的文件的索引

问题描述

for j in ebt:
    e.append(j*0.7)
print(e)

[1765.869, 1337.9730000000002, -2595.4530000000004, -2040.0169999999996, -419.944, 5085.668, 5747.385, 2761.479, 2329.8729999999996, -1567.055000000001, 461.71999999999895, 8140.678]
for l in e:
    if l > mean(e):
        gm.append(e.index([l]))
print(gm) 
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-28-9bc357c5b9c7> in <module>
      2 for l in e:
      3     if l > mean(e):
----> 4         gm.append(e.index([l]))
      5 print(gm)

ValueError: [1765.869] is not in list

我究竟做错了什么?gm 代表好月份,利润高于年度平均值。我正在尝试获取发生这种情况的月份的索引,但我得到了一个错误。

标签: pythonfor-loopindexing

解决方案


两种解决方案,第一种更有效,第二种更像你的例子。

for l in range(len(e)):
    if e[l] > mean(e):
        gm.append(l)
print(gm) 

这发挥了你的榜样。注意索引函数中方括号的省略

for l in e:
    if l > mean(e):
        gm.append(e.index(l))
print(gm) 

推荐阅读