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)
班级费用: def init (自身,费用:整数,类别:str,日期:整数): 自我.__费用=费用 self .__ category =类别 self .__ 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'对象是不可迭代的。我该怎么办? fee_list是一个类制成的对象。
答案 0 :(得分:0)
根据:
new_list = list()
...
new_list.append(list(...))
...
self.expense_list = new_list
self.expense_list必须是列表列表。但是,通过:
for item in self.expense_list:
...
item.expense
不能,因为列表没有费用属性。请验证所有数据类型是否正确。