python - 将 2 个列表的字符串表示形式转换为列表
问题描述
我想用一个字符串创建一个列表。我的字符串:
[[1544434140,asd,asd,asd]]
如您所见,我的 String 在另一个列表中包含一个列表,如果我想这样做,这绝对是必要的:
[[1544434140,asd,asd,asd][1544434140,asd,asd,asd]]
我已经尝试过:
literal_eval(mystring)
和
eval(mystring)
但两者都从 ast.literal_eval 抛出这样的异常:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/socketserver.py", line 317, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/local/lib/python3.6/socketserver.py", line 348, in process_request
self.finish_request(request, client_address)
File "/usr/local/lib/python3.6/socketserver.py", line 361, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/local/lib/python3.6/socketserver.py", line 696, in __init__
self.handle()
File "/usr/local/lib/python3.6/http/server.py", line 418, in handle
self.handle_one_request()
File "/usr/local/lib/python3.6/http/server.py", line 406, in handle_one_request
method()
File "/home/dev/requestHandler.py", line 223, in do_GET
addrequestResult = rh.addRequestToQue(self.path)
File "/home/dev/requestHandler.py", line 86, in addRequestToQue
resultOK = self.addToList(request)
File "/home/dev/requestHandler.py", line 181, in addToList
doAdd(request, userque, userhistory)
File "/home/dev/requestHandler.py", line 143, in doAdd
userque = literal_eval(userque)
File "/usr/local/lib/python3.6/ast.py", line 85, in literal_eval
return _convert(node_or_string)
File "/usr/local/lib/python3.6/ast.py", line 61, in _convert
return list(map(_convert, node.elts))
File "/usr/local/lib/python3.6/ast.py", line 61, in _convert
return list(map(_convert, node.elts))
File "/usr/local/lib/python3.6/ast.py", line 84, in _convert
raise ValueError('malformed node or string: ' + repr(node))
ValueError: malformed node or string: <_ast.Name object at 0x7fa6751838d0>
知道如何将带有 2 个封装列表的字符串转换为一个列表吗?
解决方案
根据我的假设,如果 asd 不是变量并且在扁平列表中需要“,”。如果有的话让我知道
试试这个格式字符串 eval() 会起作用
mystring = "[[1544434140,'asd','asd','asd'],[1544434140,'asd','asd','asd']]"
print eval(mystring)
Result:[[1544434140, 'asd', 'asd', 'asd'], [1544434140, 'asd', 'asd', 'asd']]
推荐阅读
- typescript - 使用方法装饰器更改函数返回类型
- c# - 在 C# 的任务中使用线程是否毫无意义?
- random - 面试题:少于三个连续颜色的网格的确定性时间随机着色
- symfony - 未找到异常 id,转储显示带有 isInitialized false 的实体且所有属性为 null
- mysql - 如何从 Hue SQL 查询中获取 Y 轴的图表
- java - 我可以按顺序使用许多 listIterators 从 Java 中的 ArrayList 中改变或删除列表元素吗?
- python - Python - 绘制多个数据框列
- python - 工作流程:指向 Python 数组的 C 指针?
- sql - 更新客户记录
- applescript - 笔记全部导出为PDF