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
不可能,因为列表没有费用属性。请验证您的所有数据类型是否正确。