Python中如何根据用户输入从列表的列表中移除指定元素?
解决方法
你可以用字典来建立用户输入的星期名称和对应列表的关联,这是最直接的实现方式。具体步骤如下:
1. 创建星期映射字典
把你定义的M、Tu等列表,和用户可能输入的星期名称(比如'Monday'、'Tuesday')一一对应起来:
M = ['14','15','17','18','19'] Tu = ['15','16','18'] W = ['13','14','19'] Th = ['16','17','18'] F = ['16','17','18'] # 建立星期名称到对应列表的映射 day_map = { 'Monday': M, 'Tuesday': Tu, 'Wednesday': W, 'Thursday': Th, 'Friday': F }
2. 根据用户输入执行移除操作
从字典里取出用户指定的星期对应的列表,再调用remove()方法移除目标时间:
time = input('Enter time: ') day = input('Enter a day: ') # 从字典中获取对应星期的列表 target_list = day_map.get(day) if target_list and time in target_list: target_list.remove(time) print(f"已从{day}的列表中移除{time}") elif not target_list: print("输入的星期名称不正确,请检查拼写") else: print(f"{day}的列表中没有{time}这个时间")
补充说明
- 用
day_map.get(day)而不是直接day_map[day],是因为如果用户输入的星期不在字典里,get()会返回None,不会直接报错,更友好。 - 先判断
time是否在列表里再执行remove(),是因为如果目标时间不存在,remove()会抛出异常,提前判断能让程序更稳定。
内容的提问来源于stack exchange,提问作者Tommaso Maganzani
相关产品推荐
相关产品推荐

