요소가있는 중첩 목록이 있습니다. 목록의 색인을 입력 할 때 사용자가 목록을 하나씩 삭제하기를 원합니다. 사용자 유형이 "0"이므로 ['elem', 'elem1', 'elem2']
이 삭제됩니다.인덱스로 항목을 제거 할 수 없습니다 - 'NoneType'개체를 정수로 해석 할 수 없습니다 - Python
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가 아님을 의미합니까? 어떻게 해결할 수 있습니까?
이 검사가'if index in database'라고 확신합니까? 'len (database) '와 비교할 것을 제안 할 것입니다. – fernand0
'remove_from_database'는'None'을 반환 할 수 있습니다.'None'은'pop'에서'index' 값으로 사용할 수 있습니다. –