我有一个约会,并记录了那天发生的事件。我想枚举显示日历的日期的事件列表。
我还需要能够从列表中删除事件。
def command_add(date, event, calendar):
if date not in calendar:
calendar[date] = list()
calendar[date].append(event)
calendar = {}
command_add("2015-10-29", "Python class", calendar)
command_add("2015-10-12", "Eye doctor", calendar)
command_add("2015-10-12", "lunch with sid", calendar)
command_add("2015-10-29", "Change oil in blue car", calendar)
print(calendar)
def command_show(calendar):
for (date, event) in calendar:
print(date, enumerate(event))
command_show(calendar)
我认为这可以让我访问日期下的辅助列表并枚举它,但我收到错误。
示例输出:
command_show(calendar)
2015-10-20:
0: stackover flow sign up
2015-11-01:
0: stackoverflow post
1: banned from stack overflow
for ... in calendar:
只会循环字典中的键。你需要打电话.items()
两者兼得键和值:
def command_show(calendar):
for date, events in calendar.items():
print(date, enumerate(events))
您还可以简化command_add
通过使用.setdefault() https://docs.python.org/2/library/stdtypes.html#dict.setdefault method:
def command_add(date, event, calendar):
calendar.setdefault(date, []).append(event)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)