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

时间:2017-06-30 14:33:51

标签: python list

我希望有变量来控制列表开头和结尾有多少元素可以跳过,例如

    protected void Application_Start(object sender, EventArgs e)
    {
        RegisterRoutes(RouteTable.Routes);
    }

    public static void RegisterRoutes(RouteCollection routes)
    {
            var environment = ConfigurationManager.AppSettings["Environment"].ToString();

            if (environment.Equals("Development"))
            {
                  routes.MapPageRoute("", "dev/{action}/{categoryName}","~/categoriespage.aspx");
            }

    }

返回[8,7]。

Why does slice [:-0] return empty list in Python所示,skip_end = 0会给出一个空列表。

在这种情况下,我实际上只想要my_list [skip_begin:]。

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

不起作用。如何在三元运算中返回空值?

我宁愿在" []"内使用三元操作。而不是

my_list[skip_begin:-skip_end if skip_end != 0 else '']

或if-else块。

3 个答案:

答案 0 :(得分:8)

UIViewController

第一个解决方案的问题是索引切片需要一个数字(或空值),而不是字符串。

可替换地:

my_list[skip_begin:-skip_end if skip_end != 0 else None]

答案 1 :(得分:6)

my_list[skip_begin:-skip_end if skip_end else None]

你的专栏:

my_list[skip_begin:-skip_end if skip_end != 0 else '']

可能会让你走上正轨,因为它会产生:

  

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

我的灵感来自之前的答案,但if skip_end != 0skip_end相同

答案 2 :(得分:-1)

 my_list[skip_begin:-skip_end if skip_end != 0 else skip_begin:]