在Python中将新条目添加到数组并删除最后一个条目

时间:2018-07-06 09:17:19

标签: python arrays

我想向数组添加一个新条目并删除最后一个条目。我想不使用popappend等来完成此操作。

尝试

def main():
    array = [1,2,3,4,5]
    array_len = len(array)
    new_val  = 9
    print(array)

    for i in range(0,array_len-1):
        temp = array[i]
        array[i] = array[i+1]
        array[i+1]= temp

    array[0] = new_val
    print(array)   

main()

当我想要的答案是[9,3,4,5,1]时,输出将给出[9,1,2,3,4]。任何有关如何纠正所用逻辑的提示都很棒!

修改

我应该更清楚了。我想仅使用逻辑和循环来执行此操作,而不使用内置的python函数或诸如array [:-1]之类的数组操作。

3 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

array = [1, 2, 3, 4, 5]
new_array = [9] + array[:-1]

结果:

[9, 1, 2, 3, 4]

array[:-1]的意思是:取出array中的所有物品,最后一个除外。

通过将其添加到仅包含数字9的列表中,您将获得所需的结果。

答案 1 :(得分:1)

使用列表文字和切片足够简单:

array = [1,2,3,4,5]
new_val  = 9

# option 1: new object
array = [new_val] + array[:-1]

# option 2: mutate existing array by slice assingment
array[:] = [new_val] + array[:-1]

答案 2 :(得分:1)

不是最好的代码!!!

只需修改您的代码即可使用

<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet">
<div id="svg"></div><br>
<div id="output">Please click on any icon.</div>