How to cast string back into a list
我有一个清单:
1 | ab = [1, 2, a, b, c] |
我做到了:
1 | strab = str(ab). |
号
因此,
我想把那根绳子重新放到一个列表中。
我该怎么做?
最简单和最安全的方法是使用
1 2 3 4 5 6 7 8 9 10 11 12 13 | import ast ab = [1, 2, 'a', 'b', 'c'] # a list strab = str(ab) # the string representation of a list strab =>"[1, 2, 'a', 'b', 'c']" lst = ast.literal_eval(strab) # convert string representation back to list lst => [1, 2, 'a', 'b', 'c'] ab == lst # sanity check: are they equal? => True # of course they are! |
请注意,调用EDOCX1[1]也有效,但它不安全,您不应使用它:
1 2 | eval(strab) => [1, 2, 'a', 'b', 'c'] |
使用AST包:
1 2 | import ast lst = ast.literal_eval(strab) |
在使用序列设置numpy数组元素的上下文中,可以使用内置联接将其绕过设置为字符串:
1 | str_list_obj = '-'.join(list_obj) |
然后,在需要时,使用相同的连接器再次拆分字符串序列(前提是它不出现在列表的字符串中):