список.удалить(x) x, кажется, есть в списке, но не найден

#python #list

Вопрос:

Итак, в VSCode я получаю эту ошибку…

введите описание изображения здесь

Учитывая входные данные

2

21 22

У нас есть переменные, говорящие

best_choice = ’22’

а: [’21’, ’22’]

Однако a.remove(best_choice) возвращает ошибку. Я совершенно сбит с толку… пожалуйста, помогите. Я проверил наличие этой проблемы в стеках и обнаружил, что функция remove() не работает при повторении списка, поэтому я изменил свой цикл на while(True). Однако я все еще получаю ту же ошибку.

Вот код:

 import sys

def best_option(a):
    iterator = 0
    while(len(a)>1):
        previous_best_digit = 0
        current_best_digit = 0
        best_short_option = []
        return_list = []
        for item in a:
            if len(item)-1 < iterator:
                char_previous =  item[iterator-1:iterator]
                dig_previous = ord(char_previous)
                previous_best_digit = dig_previous
                best_short_option = item
                continue
            char = item[iterator:iterator 1]
            dig = ord(char)
            if dig > current_best_digit:
                current_best_digit = dig
                return_list.clear()
                return_list.append(item)
            elif dig == current_best_digit:
                return_list.append(item)
        if (current_best_digit < previous_best_digit):
            return_list.clear()
            return_list.append(best_short_option)
        a = return_list 
        iterator =1
    return a


def largest_number(a):

    #write your code here
    res = ""
    while (True):
        best_choice = best_option(a) 
        print(best_choice)
        a.remove(best_choice)
        res  = best_choice
        if (len(a)==1):
            break

    res.append(a)
    print(res)
    return res

if __name__ == '__main__':
    input = sys.stdin.read()
    data = input.split()
    a = data[1:]
    print(largest_number(a))
   
 

Его цель-создать строку с максимально возможным значением из списка строк.

Ответ №1:

твое best_choice есть ['22'] , а не '22'