Python下可以利用ast模块解决这个问题,示例如下:
from ast import literal_eval
str_tuple = "(1, 2, 3, 4)"
str_list = "[1, 2, 3, 4]"
str_set = "{1, 2, 3, 4}"
str_dict = "{'name': 'lucky', 'age': 18, 'job': 'Dev'}"
tuple_info = literal_eval(str_tuple)
list_info = literal_eval(str_list)
set_info = literal_eval(str_set)
dict_info = literal_eval(str_dict)
print(' tuple_info type: %s\n list_info type: %s\n set_info type: %s\n dict_info type %s' %
(type(tuple_info), type(list_info), type(set_info), type(dict_info))
)
结果如下:
tuple_info type: <class 'tuple'>
list_info type: <class 'list'>
set_info type: <class 'set'>
dict_info type <class 'dict'>
如上可知,基本元组、列表、集合、字典,都可以转换, 参考:Preferred over eval 。