У меня есть список элементов («токенов»), которые, как я предполагаю, действуют как строки. Я хочу найти слова с подчеркиванием в них и заменить подчеркивание пробелом. У меня есть следующий код:Метод соединения Python, возвращающий список?
for e in tokens:
if '_' in e:
cmpd = list(e)
cmpd[e.find('_')] = ' '
''.join(cmpd)
new_tokens[index] = cmpd
Это в основном идентично тому, что здесь: Change one character in a string in Python?
Позже я пытаюсь объединить все элементы списка в предложении, разделенных пробелом, но я получаю следующее сообщение об ошибке:
TypeError: can only concatenate list (not "str") to list
и если я распечатать e
и cmpd
, я получаю этот выход:
e: my_string
cmpd: ['m', 'y', ' ', 's', 't', 'r', 'i', 'n', 'g']
Почему cmpd содержит список, а не строку?
Вы хотите заменить символы подчеркивания? Или все слово? –
Возможно, вы можете сделать 'string.replace ('_', '')' – MYGz
'join()' не является встроенным. вам нужно присвоить ему что-то – MooingRawr