python: перевод списка строк и чисел в строку с экранированием символов
есть список в котором содержатся строки и числа вида
arr = ['text1', "text2", 11, 15, 'text3']
на выходе требуется получить строку вида 'text1', 'text2', 11, 15, 'text3'
при этом символ ' должен быть заэкранирован
подскажите, можно ли это сделать одной командой (условно в 1 строку) или надо писать код вида:
q = ', '.join([str(elem) if type(elem) == int else "'" + elem.replace('\'', '\\\'') + "'" for elem in arr])
Ответы (1 шт):
Автор решения: wchistow
→ Ссылка
Можно так, используя функцию repr:
arr = ['text1', "text2", 11, 15, 'text3']
result = ', '.join(list(map(repr, arr)))
print(repr(result))
Выводит:
"'text1', 'text2', 11, 15, 'text3'"