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

Рейтинг: 0Ответов: 1Опубликовано: 25.02.2023

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

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

Такой вывод:

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

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

Ответы

▲ 1

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

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

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