当我得到int对象不可迭代时,该怎么办


def filter_list_by_value(self):
self.get_user_input("Insert number to filter by: ")
value = int(self.__user_input)
print(value)
new_list = list()
try:
self.history_stack.append(str(self.expense_list))
for item in self.expense_list:
try:
new_list.append(list(filter(lambda val: val > value, item.expense)))
except TypeError as te:
print("type error" , te)
self.expense_list = new_list
except TypeError as te:
print("Type error!", te)

班级费用:definit(self,expense:int,category:str,day:int(:自我__费用=费用自我__category=类别自我__day=day

def __repr__(self):
return str(self)

def __str__(self):
return str(self.__dict__)

@property
def day(self):
return self.__day
@day.setter
def day(self, day):
self.__day = day
@property
def expense(self):
return self.__expense
@expense.setter
def expense(self, expense):
self.__expense = expense
@property
def category(self):
return self.__category
@category.setter
def category(self, category):
self.__category = category

我不断得到"int"对象是不可迭代的。我该怎么办?expense_list是一个类生成的对象。

判断依据:

new_list = list()
...
new_list.append(list(...))
...
self.expense_list = new_list

self.expense_list必须是一个列表列表。但是,由:

for item in self.expense_list:
...
item.expense

不可能,因为列表没有费用属性。请验证您的所有数据类型是否正确。

最新更新