代码之家  ›  专栏  ›  技术社区  ›  nyi

字节文字数组到字符串

  •  0
  • nyi  · 技术社区  · 7 年前

    我是python新手,我正在调用一个外部服务并打印基本上是字节文字数组的数据。

    results = q.sync('([] string 2#.z.d; `a`b)')
    
    print(results)
    [(b'2018.06.15', b'a') (b'2018.06.15', b'b')]
    

    在没有 b ,我正在遍历元素并解码元素,但这会破坏整个结构。

    for x in results:
        for y in x:
            print(y.decode())
    
    2018.06.15
    a
    2018.06.15
    b
    

    是否有方法将全字节文字数组转换为字符串数组(以下任意一种),或者我需要编写一个连接函数来将其缝合回来?

    ('2018.06.15', 'a') ('2018.06.15', 'b')  
    (2018.06.15,a) (2018.06.15,b)
    

    如下所示(尽管我想避免这种方法)

    for x in results:
        s=""
        for y in x:
            s+="," +y.decode()
        print(s)
    
    ,2018.06.15,a
    ,2018.06.15,b
    
    2 回复  |  直到 7 年前
        1
  •  1
  •   luz.arthur    7 年前

    按照前面的回答,您的命令如下: 此代码将生成元组列表。

    [tuple(x.decode() for x in item) for item in result]
    

    以下代码将返回元组:

    for item in result:
         t = ()
         for x in item:
                 t = t + (x.decode(),)     
         print(t)
    
        2
  •  0
  •   Bubble Bubble Bubble Gut    7 年前

    你可以在一行中完成,这会给你一个解码元组的列表。

    [tuple(i.decode() for i in y) for x in result for y in x]