python - 每当用户输入特定事物时从列表中删除值
问题描述
所以假设我有一个列表(这是一个例子,但概念是一样的):
List = ["I", "hate", "don't", "love", "you."]
我如何/是否有办法从列表中删除多个项目?我基本上希望程序:
- 接受用户的输入。
如何?每当用户键入delete x y
x 和 y 代表列表中的项目的编号 - 每当人员键入“delete”时,从列表中删除指定的项目(将其作为命令。此外,它与第 1 点的删除相同)
示例:
#The list
List = ["I", "hate", "don't", "love", "you."]
#what the person types in the console as input
delete 2 3
一旦该人输入并按下回车,程序将从列表中删除第二个和第三个值(在这种情况下,从我们人类的角度来看,“讨厌”和“不要”这两个词,因为它们占据了第二个和第三个分别放置)然后它将打印列表。
问题是我不知道该怎么做。谁能帮我?我希望我足够清楚。如果不是,我可以尝试用不同的方式来解释它。
解决方案
您可以尝试以下方法:
List = ["I", "hate", "don't", "love", "you."]
command, *vals = input("Enter command: ").split()
if command=='delete':
print([elem for i, elem in enumerate(List, start=1) if i not in list(map(int, vals))])
输出:
Enter command: delete 2 3
['I', 'love', 'you.']
注意:如果输入的数字大于列表的长度,它什么也不做。
推荐阅读
- excel - 如何在Excel中的n个单元格中保持恒定的值并在结束后通过添加固定数字来更改它
- google-analytics - 将用户 ID 从 Google Tag Manager 发送到 Google Analytics 4
- c - 在 fclose 函数中,哪一个加了锁逻辑代码?
- f# - 如何使用任意数量的参数来约束函数的返回类型?
- javascript - 如何在 JavaScript 代码中查找多个 div ID
- c++ - 调用 va_start 是否需要具有可变参数的函数?
- excel - Excel 错误地将数值从英语翻译为荷兰语
- python - 对列表中的元素进行分组以创建基于数字作为键的字典
- r - 当 JSON 作为变量存储在 R Dataframe 中时解码 JSON
- windows - 无法使用 MinGW32 gcc / ld 将 64 位目标文件链接到可执行文件