无法通过索引'NoneType'移除项对象不能解释为整数Python

2024-10-02 08:15:22 发布

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

我有一个包含元素的嵌套列表。我希望用户在键入列表索引时删除一个列表:假设用户类型为:“0”,则['elem', 'elem1', 'elem2']将被删除。

0 ['elem', 'elem1', 'elem2']
1 ['elem3', 'elem4', 'elem5']
2 ['elem6', 'elem7', 'elem8']
3 ['elem9', 'elem', 'elem10']

我的代码在没有函数的情况下工作,但是当我试图创建一个函数时,我收到一个我不理解的错误。

TypeError: 'NoneType' object cannot be interpreted as an integer

database = [['elem', 'elem1', 'elem2'],
                  ['elem3', 'elem4', 'elem5'],
                  ['elem6', 'elem7', 'elem8'], 
                  ['elem9', 'elem', 'elem10']]


def remove_from_database(index):
  if index in database:
    database.pop(index)
    return index
  else:
    print("not here")

for index, elem in enumerate(database):
  print(index, elem)

user = remove_from_database(int(input("type in the index to remove: ")))
result = database.pop(user)
print(f"removed: {result}")

有人能告诉我这个错误是什么意思吗?这是否意味着索引实际上不是int?我怎样才能修好它?


Tags: 用户in列表indexdatabaseremoveprintelem

热门问题