数组=一种包含3列和无限行的列表,其中包含数据.

Volume = array[0][2] 
counter = 0
for i in array: 
    if Volume == array[i][2]: #<------ why is this line a problem? 
        counter += 1

推荐答案

这是一个典型的错误.在您的例子中,i已经是array(即另一个列表)中的一个元素,notarray(notint)的索引,所以

if Volume == i[2]:
    counter += 1

你可以查Python tutorial.另外,试着这样做:

for i in array:
    print (i)

看看你得到了什么!

我还建议坚持命名约定:变量通常是小写的(volume,而不是Volume).在这种情况下,i具有误导性.rowelem会更合适.

Python-3.x相关问答推荐

在numpy. linalg的qr之后使用scipy. integrate中的solve_ivp时出现了一个奇怪的错误

是否可以使用参数对Flask重定向?

如何定义既允许固定单词又允许模式的pydanti.BaseModel?

添加任意数量的 pandas 数据框

如何将函数映射到所有命名元组的元素?

如何通过 python 使用 auth no priv 获取 SNMPv3?

如何转置和 Pandas DataFrame 并命名新列?

Keras 中 Conv2D 层的意外结果

类不继承时 super() 的用途

判断是否存在大文件而不下载它

在 Python 3.5 中使用 aiohttp 获取多个 url

为什么包含类的名称不被识别为返回值函数注释?

如何在 Python 3 中通过 IP 获取 WhoIs 信息?

我们如何获得 __repr__() 的默认行为?

如何使用python将放置在多个嵌套文件夹中的文档移动和重命名为一个新的单个文件夹?

如何获得 BeautifulSoup 标签的所有直接子代?

如何找出从哪个模块导入名称?

哪个更有效:Python 文档字符串还是类型提示?

三个参数的reduce函数

在 Visual Studio Code 中调试 Scrapy 项目