如何将带有多余字符('[','“')的字符串转换为列表?

时间:2019-07-06 07:59:43

标签: python-3.x list

我与服务器-客户端通信,服务器正在发送形成列表的数据,然后json.dumping列表并通过套接字发送。 Python 3.6要求我在发送前先对其进行encoding(),所以我这样做是这样的:

a = []
for g in whoto.keys():
    a.append(g)
b = json.dumps(a)
conn.send(b.encode())

在客户端,recv和decode()的结果为我提供了一个“代表”列表的字符串。结果和类型如下:

decoded =  ["user", "oppan"] type = <class 'str'>

我需要使用将要成为列表的元素在客户端的GUI之一中形成ListBox。我可以使用.split()接近它,但是'[“”,]'字符随内容一起显示。代码:

dado = dado2.split()
print(dado, 'type =', type(dado))
print('tipo :', type(dado), 'lenght :', len(dado))

还我:

['["user",', '"oppan"]'] type = <class 'list'>
tipo : <class 'list'> lenght : 2

拥有清洁清单的最佳方法是什么? 预先感谢!

1 个答案:

答案 0 :(得分:0)

尝试一下

import ast
>>> decoded = ast.literal_eval(decoded)  
>>> type(decoded)    
<class 'list'>