Python列表切片,无参数

发布于 2021-01-29 16:59:43

通过反复试验,我发现

my_list = range(10)
my_list[:None] == my_list[:]

我将其用于Django查询集,因此我可以定义大小或全部使用:

some_queryset[:length if length else None]

# @IanAuld
some_queryset[:length or None]


# @Bakuriu
# length works for all numbers and None if you want all elements
# does not work with False of any other False values
some_queryset[:length]
  • None切片时使用此良好做法吗?
  • 在任何情况下,这种方法都可能出现问题吗?
关注者
0
被浏览
52
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    是的,可以使用None,因为它的行为由文档指定:

    从i到j的s切片被定义为索引为k的项目序列,使得i <= k <j。如果i或j大于len,请使用len。如果省略i或无,则使用0。
    如果省略j或无,则使用len(s) 。如果i大于或等于j,则切片为空。

    None切片参数之一的使用与省略它相同。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看