正如@swK 所指出的,这个解决方案创建了一个新列表(但是立即丢弃旧的列表,除非它在其他地方被引用) ,而不是编辑原来的列表。这在性能方面通常不是问题,因为一次创建一个新列表通常比一次删除一个元素要快(除非 n < < len(lst))。在空间方面,这通常也不是问题,因为列表的成员通常比列表本身占用更多的空间(除非是像 bytes这样的小对象列表或者列表有许多重复的条目)。还请注意,这个解决方案并不完全等同于 OP 的: 如果原始列表被其他变量引用,则此解决方案不会修改(缩短)其他副本,这与 OP 的代码不同。