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 的代码。
我正在尝试弄清楚如何生成一个列表(针对每个字符串),一个表示每个字符串中的字符的 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 的代码。