«TypeError: дескриптор index» требует объекта «list», но получил «str» - PullRequest
0 голосов
/ 13 апреля 2019

Недавно, в рамках одного из моих проектов, я попытался сделать преобразователь текста из обычного в шестнадцатеричный.

listA = input()

def letter_swap(to_find,to_swap):
    if i == to_find:
        num = list.index(to_find)
        int(num)
        listA[num] = to_swap

print(listA)
listA = list(listA)
print(listA)
for i in listA:
    letter_swap("a", "61")

listA = str(listA)
print(listA)

Я хотел, чтобы он сначала получил строку, преобразовал ее в список ив функции получить индекс конкретных символов и изменить их (по их индексам) на выбранный (to_swap).А затем просто распечатайте текст результата.Однако я получаю следующую ошибку.

TypeError: descriptor 'index' requires a 'list' object but received a 
'str').

1 Ответ

0 голосов
/ 14 апреля 2019

Ну, вы можете использовать строковые выражения, такие как join(), split() и replace(), чтобы преобразовать в строку, манипулировать ею и затем преобразовать ее обратно в список. Вы должны работать над форматированием ввода, хотя. Это код:

listA = list(input('Insert list:'))


def letter_swap(to_find, to_swap):
    manipulated_string = "-".join(listA).replace(to_find, to_swap)
    return manipulated_string.split('-')


print(listA, letter_swap("a", "61"))

Выход:

Вставить список: abcd

['a', 'b', 'c', 'd'] ['61', 'b', 'c', 'd']

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...