尝试在没有切片功能的情况下解决切片问题

问题描述 投票:0回答:1

问题是:编写一个名为 middle 的函数,它接受一个列表并返回一个新列表,其中包含除第一个和最后一个元素之外的所有元素。

def middle(k):
    new_number = []
    for i in k:
        if k[0]!= k and k[-1] != k:
            new_number.append(i)
        else:
            return []

numbers = [0,1,2,3,4]
print(middle(numbers))

我正在使用 python,为什么我没有得到输出?顺便说一句,我知道切片存在,但我想知道没有它如何做。

python list indexing slice
1个回答
0
投票

if 语句中的条件是检查 k[0] 是否不等于整个列表 k 以及 k[-1] 是否不等于整个列表 k。

您应该检查 i(列表中的每个元素)是否不等于第一个和最后一个元素。

def middle(k):
  new_number = []
  for i in range(1, len(k)-1):
      new_number.append(k[i])
  return new_number

numbers = [0, 1, 0, 3, 4]
print(middle(numbers))

输出:

[1, 0, 3]
© www.soinside.com 2019 - 2024. All rights reserved.