【问题标题】:Need help in understand list slicing inside list comprehension,在理解列表理解中的列表切片时需要帮助,
【发布时间】:2019-07-17 15:55:16
【问题描述】:

我知道以下内容会根据索引是偶数还是奇数分解一个列表并将其分成两个列表。但不确定 [n::2] for n in [1,0] 的工作原理。

[[1,2,3,4,5][n::2] for n in [1, 0] ] [[2, 4], [1, 3, 5]]

您能否指点我发布该解释并引导我了解其背后的逻辑?谢谢。

【问题讨论】:

标签: list list-comprehension slice


【解决方案1】:

左边的部分发生在n 的每个值上。 n 表示取第二个元素(包括第 n 个元素)的起始位置。

print([[1,2,3,4,5][n::2] for n in [1, 0] ] )

print([[1,2,3,4,5][1::2]]) # outputs [[2, 4]]
print([[1,2,3,4,5][0::2]]) # outputs [[1, 3, 5]]
print([[1,2,3,4,5][4::2]]) # outputs [[5]]

【讨论】:

  • 我现在明白了。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-15
  • 2018-08-31
  • 1970-01-01
  • 2013-04-18
  • 1970-01-01
相关资源
最近更新 更多