Python 3.x 如何从列表中删除多个元素>;

Python 3.x 如何从列表中删除多个元素>;,python-3.x,Python 3.x,问题: Days是一个包含30个元素的列表。写一段简短的代码,从天中删除第5、12和23个元素 我能想到的回答这个问题的唯一方法是使用拼接。 这能工作x=x[0:5]+x[6:12]+x[13:23]+x[24:31]吗???还是有更好的方法?通过索引删除列表元素: x = [e for i, e in enumerate(x) if i not in [5, 12, 23]] @user2971015:查看两个代码示例:哪些代码更容易理解(它的功能)、维护和扩展。如果您想删除第10个元素而不

问题:

Days是一个包含30个元素的列表。写一段简短的代码,从天中删除第5、12和23个元素

我能想到的回答这个问题的唯一方法是使用拼接。
这能工作x=x[0:5]+x[6:12]+x[13:23]+x[24:31]吗???还是有更好的方法?

通过索引删除列表元素:

x = [e for i, e in enumerate(x) if i not in [5, 12, 23]]

@user2971015:查看两个代码示例:哪些代码更容易理解(它的功能)、维护和扩展。如果您想删除第10个元素而不是第12个元素,您需要在这两种情况下执行哪些更改?什么是不容易出错的?如果您发现输入索引是基于
1
,而不是基于
0
:您将如何更改这两个示例?(注意:has
start
参数)如果在变量中以列表形式给出索引会怎么样?它应该能回答你的问题。