【问题标题】:-1 index in array?数组中的-1索引?
【发布时间】:2020-01-06 17:34:14
【问题描述】:

我正在尝试使用:

num_new = num[i,-1]

获取数组的最后一段。但是,当i = 0num = [3] 时返回[]

我必须使用 num[i, len(num)] 之类的吗? 使用-1检索数组元素时还有什么需要注意的吗?

【问题讨论】:

  • 你能为输入数据准备一个合适的例子吗?具体来说,listsarrays 在 python 中是两个非常不同的东西,展示你正在使用的东西很重要。

标签: python arrays indexing


【解决方案1】:

我认为这不是-1的问题,而是python列表切片。

some_list[-n] 表示列表末尾的nth 元素,因此在以下示例中您将得到 5:

some_list = [1, 3, 5]
last_elem = some_list[-1]  # 5

这不是您问题的核心问题。

python 中的列表切片可使用此参数:
some_list[_start_:_end_:_step_]
并且 end 元素是独有的
因此,如果您尝试 [3][0:-1],这会排除最后一个元素并返回空列表。

如果你想得到列表的最后一段,你应该像这样切片:

some_list = [1, 2, 3, 4, 5]
sliced_list = some_list[3:]   # [4, 5]
neg_1_list = some_list[3:-1]  # [4]

This 会帮助你。

【讨论】:

  • 谢谢。抱歉,我是 python 初学者,我的问题可能有点幼稚,但我认为 -1 指的是最后一个元素,而不是最后一个元素。就像一个字符串,s = "hello world", s[-1] = 'd',对吧?
  • @KenS -1 指的是最后一个元素。但在您的情况下,python 列表切片排除了 -1st 元素。在some_list[-1] 等普通情况下,您可以使用 -1 获取最后一个元素,但这会削减列表切片中的最后一个元素,因为 end th 元素是独占的。
猜你喜欢
  • 2015-07-09
  • 2018-05-08
  • 1970-01-01
  • 1970-01-01
  • 2014-03-22
  • 2019-03-30
  • 1970-01-01
  • 1970-01-01
  • 2022-07-12
相关资源
最近更新 更多