Python присоединяется к списку с помощью «»

#arrays #python-3.x

#массивы #python-3.x

Вопрос:

Допустим, у меня есть список элементов.

 l = ["xf3", "x03", "x8c"] etc.
  

Теперь я хотел бы объединить элементы внутри моего списка с помощью «». Я пытался r"".join(l) , но это не сработало.

Ответ №1:

используется для экранирования «специальных» символов, следовательно, строка Python не может заканчиваться единицей , поскольку она экранирует закрывающую кавычку.

Вы должны избежать этого с помощью второго , т. Е. '\'.join(l)

Ответ №2:

 l = ["xf3", "x03", "x8c"]
'\'.join(l)
  

Важная часть заключается в том, чтобы экранировать '\' строки as inn Python:

обратная косая черта «» — это специальный символ, также называемый символом «escape». Он используется для представления определенных пробельных символов: «t» — это табуляция, «n» — это перевод строки, а «r» — это возврат каретки. Также «» может использоваться для экранирования самого себя: «» — буквальный символ обратной косой черты.

Комментарии:

1. О OP уже знают join . Их проблема заключалась в том, что они не экранировались так что это должно быть в центре любого соответствующего ответа

2. Спасибо за предложение @DeepSpace Я обновил ответ

Ответ №3:

Я предполагаю, что вы на самом деле хотите создать строку, содержащую эти экранированные символы. Самый простой способ, который я могу придумать, это ast.literal_eval :

 >>> import ast
>>> ast.literal_eval("'\"   "\".join(l)   "'")
'óx03x8c'
  

Это работает путем первого создания строки из этих строк, соединенных символами обратной косой черты ( xf3x03x8c ), окружения их кавычками и добавления начальной обратной косой черты ( 'xf3x03x8c' ), и, наконец, путем вычисления ее как литерала, чтобы превратить ее из строки длиной 12 в строку длиной 3.