Как убрать скобки с вывода (т.е. [ ]) и прочее
У меня проблемы с получением правильного вывода для моего кода (для школы).
st = строка ввода
ch = ввод символов (это для python для поиска ch в st)
Код находит как верхний, так и нижний регистр символа, который я вставил для ch, и показывает их положение в выводе (в обратном порядке).
Итак, я набрал этот код в
def whichPositionsRev (st, ch):
if ch in st:
inverseFindChar = [index for index,char in enumerate(list(st)) if char==ch ]
return "Yes..." + str(inverseFindChar[::-1])
else:
return "No"
Я предполагаю получить "Да...8 5 2" в качестве возвращаемого значения (если я набрал "abXabXabX" для st и "X" для ch), но я продолжаю получать "Да...[8, 5, 2]'в качестве выхода. Я хочу знать, какой код детали вызывает его в скобках и запятых в возвращаемом выводе?
2 ответа
Потому что ты звонишь str()
в массиве вы получаете строковое представление массива.
замещать
str(inverseFindChar[::-1])
с
" ".join(str(x) for x in inverseFindChar[::-1])
Часть, о которой вы спрашиваете, str()
вызов функции. Python помещает скобки и запятые в вывод, чтобы вам было легче видеть элементы массива.
Если вы хотите разделить элементы массива пробелами, используйте
" ".join(map(str, inverseFindChar[::-1]))