python - TypeError:第一个参数必须是可调用的或无 - 错误不是第一次出现,而是稍后出现
问题描述
我有这条线来创建一个 defaultdict 并用一个列表作为一个值来初始化它。
page_by_due_date = defaultdict(list)
due_pages_list = []
for page, page_summary_dict in summary_by_page.items():
scheduled_due_date = page_summary_dict.get('8.scheduled_due_date')
page_by_due_date[str(scheduled_due_date)].append(page)
if scheduled_due_date <= datetime.date.today():
due_pages_list.append(page)
print(sorted(due_pages_list))
pprint.pprint(page_by_due_date)
当我第一次运行此代码时,它可以正常工作。但是如果我重新运行这段代码,我会得到这个错误。我不知道为什么它认为“列表”是不可调用的。我正在使用 Jupyter notebook - 如果我重新启动内核并再次运行代码,它就可以工作。
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-25-56b08ad56f3e> in <module>
----> 1 page_by_due_date = defaultdict(list)
2 due_pages_list = []
3
4 for page, page_summary_dict in summary_by_page.items():
5 scheduled_due_date = page_summary_dict.get('8.scheduled_due_date')
TypeError: first argument must be callable or None
请注意,我已经进行了谷歌搜索并阅读了这 2 篇文章,但它们没有回答我的问题:
解决方案
根据@KlausD 的线索,我在之后查看了代码,发现了一个我使用变量名“list”的实例,它会覆盖这个。发现问题并修复它。感谢您的帮助
推荐阅读
- corda - 我可以通过 Corda Enterprise 加入 TestNet 吗?
- java - GroupBy 字符串列表
- java - containarized shinyproxy very slow
- powershell - 如何在powershell中有效地制作多个-replace命令
- linux - Take information from a file with grep
- mysql - MAX() and GROUP BY, need COUNT(*) of whole result
- android - 带有导体控制器的 ViewPager
- python - Subclassing multiprocessing.queue.Queue: attributes set by parent not available to child?
- python-3.x - Seaborn dashed line not dashed in the legend
- amazon-web-services - How to keep AWS APPSync APIs in sync from Dev to Staging to Production?