У вас есть два варианта:
Вложите ваше понимание списка:
[[ord(c) for c in nested[0]] for nested in outerlist]
В Python 3 вы можете закодировать строку вbytes
объект и преобразовать его в список.В конце концов, bytes
объекты - это просто последовательности целых чисел:
[list(nested[0].encode('ascii')) for nested in outerlist]
Эквивалентом Python 2 является использование bytearray()
типа ;для str
(байтовые строки):
[list(bytearray(nested[0])) for nested in outerlist]
В обоих случаях я предполагаю, что ваш вложенный список содержит только один элемент - строку.
Демонстрацияна Python 3.7:
>>> l = [['You '], ['have '], ['made '], ['my '], ['day.']]
>>> [[ord(c) for c in nested[0]] for nested in l]
[[89, 111, 117, 32], [104, 97, 118, 101, 32], [109, 97, 100, 101, 32], [109, 121, 32], [100, 97, 121, 46]]
>>> [list(nested[0].encode('ascii')) for nested in l]
[[89, 111, 117, 32], [104, 97, 118, 101, 32], [109, 97, 100, 101, 32], [109, 121, 32], [100, 97, 121, 46]]