Python 如何从字符串转换ASCII值
是否可以从字符串列表转换ASCII字符字符串:Python 如何从字符串转换ASCII值,python,tuples,ascii,Python,Tuples,Ascii,是否可以从字符串列表转换ASCII字符字符串: 据我所知,转换是使用所解释的ord(I)完成的。我似乎不知道如何在转换后保留列表结构列表,其内容如下: [[1,2,3],[1,2,3,4]等] 谢谢大家! 使用列表理解或映射遍历内部元素,并应用ord功能: 例如: # python 3 (py2 syntax slightly different) x = [['You '], ['have '], ['made '], ['my '], ['day.']] [list(map(ord, i[
据我所知,转换是使用所解释的ord(I)
完成的。我似乎不知道如何在转换后保留列表结构列表,其内容如下:
[[1,2,3],[1,2,3,4]等]
谢谢大家! 使用列表理解或映射遍历内部元素,并应用ord
功能:
例如:
# python 3 (py2 syntax slightly different)
x = [['You '], ['have '], ['made '], ['my '], ['day.']]
[list(map(ord, i[0])) for i in x]
# outputs
Out[41]:
[[89, 111, 117, 32],
[104, 97, 118, 101, 32],
[109, 97, 100, 101, 32],
[109, 121, 32],
[100, 97, 121, 46]]
您有两个选择:
- 列出您的理解:
[[ord(c) for c in nested[0]] for nested in outerlist]
- 在Python3中,可以将字符串编码为
bytes
对象,并将其转换为列表<代码>字节
对象毕竟只是整数序列:
[list(nested[0].encode('ascii')) for nested in outerlist]
Python2的等价物是使用;对于str
(字节字符串):
在这两种情况下,我都假设嵌套列表只包含一个元素,即字符串
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]]
嵌套列表是否总是只有一个元素长?如果使用Python 3.BTW,则不需要
ord
,而是有一个列表列表,每个内部列表都包含一个字符串。代码中没有元组。好的。谢谢刚刚修改了问题。非常感谢!这很有帮助。您能否建议如何将其实现到一个语句中,使一个语句能够将小于某个值的所有值替换为None(32=>None),然后用另一个值减去列表的其余部分?比如:如果数字<65:q=None,那么q=number-12?
>>> 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]]