首页 > 解决方案 > 如何返回 python 数组的中间?

问题描述

提示如下:在第一行显示列表的第一个、最后一个和中间元素,由 , 字符分隔。

几个小时以来,我一直试图弄清楚这一点,但不知道返回数组中间的正确过程。到目前为止,这是我的代码:

primary = []
length = 0
i = ("MORE")
while i != "NOMORE":
    i = str(input("?"))
    print(i)
    if i == "NOMORE":
        break
    primary.append(i)
    length = length + 1
mid = (length/2)

print(primary[0]," , ", primary[-1]," , ",primary.pop([mid]))

该代码可以从程序中获取正确的输入,但由于列表是可变长度的,我假设将使用某种形式的循环。primary.pop([mid]) 是我在打印中位数方面的糟糕尝试。我知道 mid 不会被打印,因为它是错误的变量类型,但我将如何替换它?

任何帮助表示赞赏。

标签: python

解决方案


当您应该简单地使用索引时,您不必要地调用该pop()方法。您还应该使用运算符而不是获取索引的整数值。由于索引是从 0 开始的,因此中点应该是:primary[mid]primarymid///(length - 1) // 2

primary = []
length = 0
i = ("MORE")
while i != "NOMORE":
    i = str(input("?"))
    print(i)
    if i == "NOMORE":
        break
    primary.append(i)
    length = length + 1
mid = (length - 1) // 2

print(primary[0]," , ", primary[-1]," , ",primary[mid])

推荐阅读