Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从字符串转换ASCII值_Python_Tuples_Ascii - Fatal编程技术网

Python 如何从字符串转换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[

是否可以从字符串列表转换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[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]]