Пытаюсь создать список со спец.символами на Python

Создаю список из строки на Python, но что-то пошло не так. Еще Пайчарм ругается на строку в функции: "PEP 8: W605 invalid escape sequence '*'" Вот код:

special_symbols = list('@№$%^&\*()')
print(special_symbols)

Такой вывод:

['@', '№', '$', '%', '^', '&', '\\', '*', '(', ')']

Почему удваивается символ?


Ответы (1 шт):

Автор решения: Alpensin

Обратный слеш \ является escape символом. его приходится экранировать еще одним \ чтобы явно задать что это буквально символ \.
Аналогично можно экранировать например кавычки. Чтобы Pycharm не ругался можно написать так

special_symbols = list(r'@№$%^&\*()')
print(special_symbols) 

Этим самым мы указываем, что это raw string. Т.е. все символы надо интепретировать буквально.

→ Ссылка