Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将SrtingSet转换为字符串_Python_String_Set - Fatal编程技术网

Python 将SrtingSet转换为字符串

Python 将SrtingSet转换为字符串,python,string,set,Python,String,Set,我想使用python3将stringset转换为string Input=“{'abc','def'}” 我已经尝试了所有可能的方法,比如求值,文字求值,转换成集合等等,但是我没有找到解决办法 解答和解释将不胜感激。谢谢 在eval调用中进行转换: inp = "{'abc','def'}" lst = eval("list(" + inp + ")") # eval("list({'abc','def'})")

我想使用python3将stringset转换为string

Input=“{'abc','def'}”

我已经尝试了所有可能的方法,比如求值,文字求值,转换成集合等等,但是我没有找到解决办法


解答和解释将不胜感激。谢谢

eval
调用中进行转换:

inp = "{'abc','def'}"
lst = eval("list(" + inp + ")")  # eval("list({'abc','def'})")
print(lst)
输出:

['def', 'abc']
['abc', 'def']
顺序已更改,因为原始字符串是无序集。要维持订单,您需要交换括号:

inp = "{'abc','def'}"
lst = eval("[" + inp[1:-1] +"]")  # eval("['abc','def']")
print(lst)
输出:

['def', 'abc']
['abc', 'def']
如果要使用
ast.literal\u eval
而不是
eval
,请尝试以下代码:

# read as set
inp = "{'abc','def'}"
lst = list(ast.literal_eval(inp))  # ast.literal_eval("{'abc','def'}")
print(lst)  # ['abc', 'def']


请注意,eval以错误的顺序返回第一个结果,而
literal\u eval
以与字符串相同的顺序返回它。

您要查找什么结果<代码>('abc','def')?嘿,我在找字符串列表。谢谢非常感谢你。感谢你的回答有没有一种方法,我可以在这个例子中使用as.literal\u eval,因为pep8鼓励使用ast.literal\u eval instal of eval,因为这不是安全的方法。太棒了,迈克。