【问题标题】:Why does a list slice [:n] allow using a list with fewer than n elements in a loop? [duplicate]为什么列表切片 [:n] 允许在循环中使用少于 n 个元素的列表? [复制]
【发布时间】:2011-08-07 21:58:17
【问题描述】:

可能重复:
good primer for python slice notation

我有这个 Python 代码; items 是一个元组列表:

# Print the first 20
for item in items[:20]:
    print item[0], item[1]

它打印列表的前二十个元素。如果列表的元素少于二十个,它仍然有效,但我不明白为什么。如何解读?

【问题讨论】:

  • items[:20] 是一个 slice,如 described elsewhere on SO。本质上,这需要最多列表的前二十个项目,确保即使没有足够的项目,切片也不会因异常而失败。
  • 我被 : 的结尾弄糊涂了,它作为 for 循环的开始
  • @vaichidrewar 第一部分省略时表示开始,0。

标签: python list slice


【解决方案1】:

如果传入的值超过列表元素个数,则切片受列表长度限制。

l = range(1,2)
l[:10] == l

【讨论】:

    猜你喜欢
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    • 2016-05-05
    • 1970-01-01
    • 2021-04-26
    • 2018-05-27
    • 1970-01-01
    • 2020-11-19
    相关资源
    最近更新 更多