如何对Python列表切片不返回任何内容

如何对Python列表切片不返回任何内容,python,list,Python,List,我希望有变量来控制列表开头和结尾要跳过的元素数量,例如 skip_begin = 1 skip_end = 2 my_list = [9,8,7,6,5] print(my_list[skip_begin:-skip_end]) 返回[8,7] 如图所示,让skip_end=0给出一个空列表 在这种情况下,我实际上只想要我的列表[跳过开始:] my_list[skip_begin:-skip_end if skip_end != 0 else ''] 不起作用。如何在三元运算中返回空值 我宁

我希望有变量来控制列表开头和结尾要跳过的元素数量,例如

skip_begin = 1
skip_end = 2
my_list = [9,8,7,6,5]
print(my_list[skip_begin:-skip_end])
返回[8,7]

如图所示,让skip_end=0给出一个空列表

在这种情况下,我实际上只想要我的列表[跳过开始:]

my_list[skip_begin:-skip_end if skip_end != 0 else '']
不起作用。如何在三元运算中返回空值

我宁愿在“[]”中使用三元运算,而不是

my_list[skip_begin:-skip_end] if skip_end != 0 else my_list[skip_begin:]
或者一个if-else块

my_list[skip_begin:-skip_end if skip_end != 0 else None]
第一种解决方案的问题是,索引切片需要的是数字(或空值),而不是字符串

或者:

my_list[skip_begin:-skip_end or None]
您的线路:

my_list[skip_begin:-skip_end if skip_end != 0 else '']
可能会让你走上正确的道路,因为它会产生:

TypeError:切片索引必须是整数或None或具有_索引__ 方法


我从前面的答案中得到了启发,但是
如果跳过\u end!=0
skip\u end

一样不错,但我不想重复skip\u begin:。请使用链接解释此代码的工作原理,不要只给出代码,因为解释更有可能帮助未来的读者。另见。
 my_list[skip_begin:-skip_end if skip_end != 0 else skip_begin:]
 my_list[skip_begin:-skip_end if skip_end != 0 else skip_begin:]