Python: 使用追加将列表中的字符串值更改为 ascii 值

Python: changing string values in lists into ascii values using append

我正在尝试弄清楚如何生成一个列表(针对每个字符串),一个表示每个字符串中的字符的 ASCII 值列表。

EG。更改 "hello"、"world" 使其看起来像:

[[104, 101, 108, 108, 111], [119, 111, 114, 108, 100]]

到目前为止,这是我的代码:

words = ["hello", "world"]
ascii = []
for word in words:
    ascii_word = []
    for char in word:
        ascii_word.append(ord(char))
    ascii.append(ord(char))

print ascii_word, ascii

我知道它不起作用,但我正在努力使其正常运行。任何帮助将非常感激。谢谢

一种方法是使用嵌套 list comprehension:

>>> [[ord(c) for c in w] for w in ['hello', 'world']]
[[104, 101, 108, 108, 111], [119, 111, 114, 108, 100]]

这只是编写以下代码的简洁方式:

outerlist = []
for w in ['hello', 'world']:
    innerlist = []
    for c in w:
        innerlist.append(ord(c))
    outerlist.append(innerlist)

你很接近:

words = ["hello", "world"]
ascii = []
for word in words:
    ascii_word = []
    for char in word:
        ascii_word.append(ord(char))
    ascii.append(ascii_word)  # Change this line

print ascii # and only print this.

但请查看 list comprehensions 和@Shashank 的代码。