python 3位置在用户输入的列表中更改

时间:2017-03-02 20:50:12

标签: python list python-3.x arraylist

好的,所以我有点迷失在这里。我理解如何自己在代码中插入一个值[例子 - x.insert(2,99)]但是我要挂断的是如果我试图让用户告诉我他们想要的地方会发生什么关于列表中位置的项目。

实施例

库存= [匕首,剑,盾牌,胸甲,头盔]

这就是我所拥有的,我知道它不起作用。

def edit_it():
    inventory = ["orb", "staff", "spellbook", "hat", "potion", "robe"]
    inventory[item] = input("Number: ")
    print(inventory)

我只是希望它显示更新的位置列表,如果用户想要移动说,法术书到前面,从而推回所有其他项目。我整天都在这里,而且我已经度过了。帮助

2 个答案:

答案 0 :(得分:1)

将项目和项目的新索引作为数字读取后,在列表中找到它,弹出它,然后将其插入该索引的列表中。

def edit_it():
    inventory = ["orb", "staff", "spellbook", "hat", "potion", "robe"]
    item = input("Which item do you want to move? ")
    new_index = int(input("Number: "))
    inventory.insert(new_index, inventory.pop(inventory.index(item)))
    print(inventory)

答案 1 :(得分:0)

这样的事情怎么样:

item= int(input("Number: "))
inventory.insert(0,inventory.pop(item))

*这适用于python 2和python 3