属性错误:"列表"对象没有属性"first"


lebel_months = []
members_exps = []  
for member in team.members.all():
qs = Profile.objects.expenses_per_month(member.user)
clr = color_picker()
member_qs = []
for exp in qs:
user = get_object_or_404(User, id=exp.user_id)
month = exp.month
summary = exp.sum
if month not in lebel_months and month is not None:
lebel_months.append(month)
if month is not None and summary is not None:                
member_qs.append({
'user': user.username, 
'clr': clr, 
'month': month, 
'summary': summary})
if member_qs:
members_exps.append(member_qs)
print(members_exps[0])
print(members_exps.first())

输出:使用[0]时,一切正常

[{'user': 'serj', 'clr': '#71CABC', 'month': datetime.datetime(2020, 3, 1, 0, 0, tzinfo=<UTC>), 
'summary': 128400}, {'user': 'serj', 'clr': '#71CABC', 'month': datetime.datetime(2020, 4, 1, 0, 0, 
tzinfo=<UTC>), 'summary': 53500}]

带有第一个((

AttributeError: 'list' object has no attribute 'first'

首次打印报表有效。第二个print语句捕获错误。我做错了什么?

首先,members_exps=[]声明List类型。

Lists/Arrays没有first((方法。有一个可用方法列表:https://www.w3schools.com/python/python_ref_list.asp

如果你想获得列表的第一项,你可能有兴趣阅读以下线程:Python习惯用法返回第一项或None

正如错误所说,members_exps变量是一个列表,在python列表中没有first((属性/函数。first只适用于数据帧。

最新更新