2024-04-26 02:57:55 发布
网友
假设我有一个列表[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
我想同时删除1到4和7到10。你知道吗
是可以在python中这样做,还是一次只能删除一个范围?你知道吗
据我所知,不能使用内置函数/库同时删除两个值。然而,你可以实现这一点在一行。一种方法是使用del关键字删除条目,如下所示:
del
>>> my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # `del` from higher range to lower range # v v >>> del my_list[6:10], my_list[0:4] >>> my_list [5, 6]
>>> lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> lst[:] = set(lst).difference(range(1, 5) + range(7, 11)) >>> lst [5, 6]
您的示例有另一种方法可以通过使用slice赋值在一条语句中获得结果:
my_list[:] = my_list[5:7]
但是,在一般情况下,不能同时删除多个范围。使用Python列表,一次只能删除一个切片。你知道吗
numpy数组可以使用fancy indexing。你知道吗
据我所知,不能使用内置函数/库同时删除两个值。然而,你可以实现这一点在一行。一种方法是使用
del
关键字删除条目,如下所示:您的示例有另一种方法可以通过使用slice赋值在一条语句中获得结果:
但是,在一般情况下,不能同时删除多个范围。使用Python列表,一次只能删除一个切片。你知道吗
numpy数组可以使用fancy indexing。你知道吗
相关问题 更多 >
编程相关推荐