字节文字数组到字符串

时间:2018-06-15 21:36:08

标签: python python-3.x

我是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 个答案:

答案 0 :(得分:1)

按照上一个答案,您的命令应如下所示: 此代码将生成元组列表。

[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)

答案 1 :(得分:0)

你可以在一行中完成,它会返回一个已解码元组的列表。

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