如何返回python数组的中间位置?

时间:2018-08-07 05:33:46

标签: 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])是我尝试打印中位数的糟糕尝试。我知道不会打印中间的文字,因为它是错误的变量类型,但是我将如何替换呢?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

当您只需要使用pop()索引primary时,就不必使用[mid]primary上调用mid方法。您还应该使用//运算符而不是/来获取索引的整数值。由于索引是从0开始的,因此中点应改为(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])