Python中有一个字符串方法叫做 rstrip()
:
>>> s = "hello world!!!"
>>> s.rstrip("!")
'hello world'
我希望实现类似的功能,应用于Python列表。也就是说,我想从列表末尾删除给定值的所有实例。在这种情况下,该值是
None
。以下是一些起始示例:
[1, 2, 3, None]
[1, 2, 3, None, None, None]
[1, 2, 3, None, 4, 5]
[1, 2, 3, None, None, 4, 5, None, None]
我希望最终结果如下:
[1, 2, 3]
[1, 2, 3]
[1, 2, 3, None, 4, 5]
[1, 2, 3, None, None, 4, 5]
以下是我的解决方案:
while l[-1] is None:
l.pop()
None
,则您的解决方案将抛出IndexError
,因此请为此添加一个特殊情况处理。 - Alexandru Dinuwhile
条件以在尝试访问l[-1]
之前检查空列表。 - Barmar