未使用Pycharm局部变量[已关闭]

问题描述 投票:0回答:2

我正在为大学编写一个程序,它接受命令并修改列表。当我尝试将函数的返回值分配给我的列表时,它告诉我该变量未被使用,即使我也在函数中使用它。 函数调用:

data = filter_category(function["expense"], data)

功能:

def filter_category(expense, data):
    for e in data:
        if e[2] != expense:
            data.remove(e)
    return data

SS of Pycharm 我写错了什么还是这是 Pycharm 的错误?

python pycharm
2个回答
1
投票

您的 IDE 仅评估此处的分配。是的,您正在使用“数据”将其赋予您的方法,但将该方法的返回值分配给数据,就像此方法调用后的所有内容的新变量一样。由于您不使用这个新分配的值,因此它认为该分配无用并告诉您,它没有被使用。

如果您在方法调用后对数据执行某些操作,则此警告将会消失。


0
投票

不要在迭代列表时修改列表,因为它通常不安全。

def filter_category(expense, data):
    filtered_data = []
    
    for e in data:
        if e[2] == expense:
            filtered_data.append(e)

    return filtered_data
© www.soinside.com 2019 - 2024. All rights reserved.