删除Python中的尾随空元素

是否有一种优雅的蟒蛇方式从列表中删除尾随的空元素.一种list.rstrip(无).所以

[1, 2, 3, None, 4, None, None]

应该导致

[1, 2, 3, None, 4]

我想这可以推广到删除任何特定值的尾随元素.

更新:我应该指定我希望将其作为单行(可读)表达式完成

编辑:使用pop()而不是切片列表,因为评论者已正确建议.

我不知道是否有更多的pythonic方式,但这有效:

my_list = [1, 2, 3, None, 4, None, None]
while not my_list[-1]:
    my_list.pop()
print my_list
>>>[1, 2, 3, None, 4]

编辑:正如@DSM指出的那样,如果你只想摆脱None值,并留下零或其他假值,你可以这样做:

while my_list and my_list[-1] is None:
    my_list.pop()

转载注明原文:删除Python中的尾随空元素 - 代码日志