Как преобразовать списки Ascii в текст? - PullRequest
0 голосов
/ 15 декабря 2018
aList = [[ord(ch) for ch in word] for word in wordlist]
bList = [[x - offset for x in word] for word in aList]
cList = [[x + 94 for x in word if x < 33] for word in bList]
print(cList)
for i in cList:
    text = chr(i)
    print(text)

Это конец программы, которую я создал для шифрования и дешифрования текста после того, как превратил его в правильное значение ASCII.Я не знаю, как преобразовать это значение в текст, не получив сообщение об ошибке:

TypeError: an integer is required (got type list)

Ответы [ 3 ]

0 голосов
/ 15 декабря 2018

Каждый элемент в cList сам по себе является списком Python, поэтому вы не можете передать его в chr.Вместо этого вам также нужно перебрать каждый элемент в каждом списке в cList:

aList = [[ord(ch) for ch in word] for word in wordlist]
bList = [[x - ofset for x in word] for word in aList]
cList = [[x + 94 for x in word if x < 33] for word in bList]
print(cList)
for arr in cList:
    for i in arr:
        text = chr(i)
        print(text)
0 голосов
/ 15 декабря 2018

Вы начинаете со списка слов (List).Каждое из слов представляет собой одну строку.Затем вы разбиваете каждое слово на отдельные символы, конвертируете их в целые числа и делаете некоторые преобразования (bList и cList).На этом этапе вы получите список списков символов.

Если ваша цель - преобразовать каждый вложенный список обратно в строку, возможно, самый простой способ - str.join:

dList = [str.join(chr(c) for c in row) for row in cList]
for word in dList:
    print(word)
0 голосов
/ 15 декабря 2018

Функция str - это функция, предназначенная для превращения чего-либо в строку.Если у вас есть список с именем mylist, вы можете преобразовать его в строку, подобную этой:

str(mylist)

, после чего вы можете делать с ней все, что захотите.См. здесь для получения дополнительной информации о str.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...