gpt4 book ai didi

python - 我无法从集合中删除日期时间对象?

转载 作者:太空宇宙 更新时间:2023-11-04 07:48:30 26 4
gpt4 key购买 nike

base = datetime.date.today()
dateset = set([base + datetime.timedelta(days=x) for x in range(20)]

for d in dateset:
if d.weekday() == 0:
dateset.discard(d)

如您所见,我想删除所有 weekday() 为 0 的日期时间对象。

但是上面的代码抛出错误RuntimeError: Set changed size during iteration

非常感谢任何帮助。

最佳答案

您正在迭代一个对象,该对象在运行时会改变它的大小,即您在 dateset 上迭代,同时使用 dateset.discard(d) 在循环中丢弃其中的项目.

获取另一个迭代器,例如 for idx in range(len(dateset)): 以迭代并相应地从 dateset 中删除项目。

关于python - 我无法从集合中删除日期时间对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59177616/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com