【发布时间】:2015-11-27 03:12:36
【问题描述】:
有没有更 Pythonic 的方式来告诉列表它的哪些部分必须保留在其中,哪些部分必须删除?
li = [1,2,3,4,5,6,7]
通缉名单:
[1,2,3,6,7]
我可以这样做:
wl = li[:-4]+li[-2:]
我正在寻找类似li[:-4,-2:] 的东西(在一个语句/命令中)
我当然可以remove,但它可以在很多情况下使用,例如:
通缉名单:
[3,4,5,6,7]
我可以del li[0:2]
但更常见的做法是:
li[2:]
【问题讨论】:
-
过滤列表背后的逻辑是什么?我的意思是一组随机整数的输出应该是什么?
-
wl = li[:-4]+li[-2:]有什么问题?为什么要在此处损害可读性?这是最好的方法(afaik) -
li[:-4]+li[-2:]不会产生[1,2,3,6]。 -
Pythonic 的方式是使用你已经找到的东西。没有更紧凑的语法。
-
li[3:5] = []或del li[3:5]在我看来还可以
标签: python list syntax semantics