Выполняя функцию string.translate
, в которой говорится:
Удалите все символы из s, которые находятся в файлах удаления (если они есть), а затем переведите символы с помощью таблицы, которая должна быть 256-символьной строкой, дающей перевод для каждого символьного значения, индексированный его порядковым номером. Если таблица None, то выполняется только шаг удаления символов.
- Что здесь означает таблица? Может ли это быть
dict
, содержащее отображение? - Что означает "должна быть строка с 256 символами" означает?
- Может ли таблица быть сделана вручную или через пользовательскую функцию вместо
string.maketrans
?
Я попытался использовать функцию (попытки ниже), чтобы увидеть, как она работает, но не смогла ее использовать.
>>> "abcabc".translate("abcabc",{ord("a"): "d", ord("c"): "x"})
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: translation table must be 256 characters long
>>> "abcabc".translate({ord("a"): ord("d"), ord("c"): ord("x")}, "b")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: expected a character buffer object
>>> "abc".translate({"a": "d", "c": "x"}, ["b"])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: expected a character buffer object
Что мне здесь не хватает?