【问题标题】:How to convert a list into ASCII如何将列表转换为 ASCII
【发布时间】:2023-04-03 22:17:01
【问题描述】:

如何将列表转换为ASCII,但我想在转换后再次拥有一个列表。

我发现这是从 ASCII 转换为列表的:

L = [104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100]
print(''.join(map(chr,L)))

但它不能反过来工作。

这是我的输入:

L = ['h','e','l','l','o']

我想要这个作为输出:

L = ['104','101','108','108','111']

【问题讨论】:

  • print(list(map(chr,L))) ?因此,您将拥有一个转换为 ascii 的每个字符的列表(返回 ['h', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd'])。实际上,您的 join 正在使用 '' 作为分隔符连接地图的每个元素。如果你想要a list again,你就不想加入他们,就像你说的那样
  • 是的,这是我的输出,但我想使用 ord()。你知道我需要怎么做吗?
  • 您想使用ord() 将您的整数列表转换为这些整数的ASCII 表示列表吗?这不是ord() 所做的。更加详细一些。编辑您的问题并说出您想要得到的结果。你想用ord() 做什么?

标签: python ascii


【解决方案1】:

这是一个更简单的解决方案:

L = ['h','e','l','l','o']
changer = [ord(x) for x in L]
print(changer)

使用函数ord()

【讨论】:

    【解决方案2】:
    L = ['h','e','l','l','o']
    print(list(map(str, map(ord, L))))
    

    这个输出:

    ['104', '101', '108', '108', '111']
    

    【讨论】:

      【解决方案3】:

      这对我很有效。

      >>> L = [104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100]
      >>> print [ chr(x) for x in L]
      ['h', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd']
      

      【讨论】:

      • 是的,但我想要 >>> L=['h', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd'] 和 [104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100] 的输出]
      • 打印 [ord(x) for x in L]
      【解决方案4】:
      L = ['h','e','l','l','o']
      
      print(list(map(ord,L)))
      #output : [104, 101, 108, 108, 111]
      
      print(list(map(str,map(ord,L))))
      #output : ['104', '101', '108', '108', '111']
      

      【讨论】:

        【解决方案5】:

        反之亦然:

        L = ['h', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd']
        L = [ord(x) for x in L]
        print(L)
        

        输出:

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

        【讨论】:

          【解决方案6】:

          来自here

          你可以试试:

          L = ['h','e','l','l','o']
          for x in range(len(L)):
               L[x] = ord(L[x])
          print(L)
          

          输出:

          [104,101,108,108,111]
          

          编辑:

          ord() 允许您从 char 转换为 ASCII,而 chr() 允许您执行相反的操作

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2018-02-26
            • 1970-01-01
            • 1970-01-01
            • 2017-09-09
            • 2011-04-19
            • 2015-06-10
            • 1970-01-01
            相关资源
            最近更新 更多