列表中的空列表

2024-04-23 18:17:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试清空python脚本中的嵌套列表:

deadBody_inv = [['AK47', 30],['M16', 30],['FragGrenade', 5],['Hunting Knife', 1]]

def search_body(deadBody):
   option = str(input("""\n\nYou enter the destroyed 
   bunker to find a dead enemy soldier./n
   A).Dispose Body
   B).Search Body  \n\n...>"""))

if option.lower() == 'a':
    inv_len = len(deadBody)
    for k in range(0, inv_len): 
        inv_len.remove(k)

我经常会遇到这样的错误: AttributeError:“int”对象没有属性“remove”

我肯定我做错了,我只是想删除列表中的每个值。我想for循环会遍历每个 列出值(存储在k中)并使用.remove()方法删除每个值

我做错什么了?你知道吗


Tags: 脚本列表forlenbody清空removeoption
3条回答
inv_len = len(deadBody)

这等于死体的长度。只要用一些能清空尸体的东西,如果你想把它们加到你的存货里。例如:

player_inv.extend(deadBody)
deadBody.clear() #deadBody is now an empty list

您正在inv\u len中存储一个int,然后告诉它从int中删除

我认为你试图从deadBody中删除所有的项目,如果你想这样做的话,只需将deadBody重新分配到一个空列表。你知道吗

deadBody = []

使用此选项:

if option.lower() == 'a':
    items = []
    while len(deadBody) > 0:
        items.append(deadBody.pop())

数组项目将包含从deadBody中掠夺的所有项目

此外,如果你有一个球员的库存清单,只要使用

player.extend(deadBody)
deadBody = [] # or alternatively, del deadBody

相关问题 更多 >