Python 缓存的字符串列表将转换为列表

Python 缓存的字符串列表将转换为列表,python,regex,caching,Python,Regex,Caching,我缓存了包含单词的列表。我从缓存中下载字符串类型的列表。有人知道我如何将它们再次转换为列表吗 第一个列表作为字符串 b"['cat', 'dog']" 我想要这个队形 ['cat','dog'] 如清单所示 我已经试过了: for lists in petlist: x = lists.decode("utf-8") x = x.replace('[','') x = x.replace(']','') resources = b.split (',')

我缓存了包含单词的列表。我从缓存中下载字符串类型的列表。有人知道我如何将它们再次转换为列表吗

第一个列表作为字符串

b"['cat', 'dog']"
我想要这个队形

['cat','dog']
如清单所示

我已经试过了:

for lists in petlist:
    x = lists.decode("utf-8") 
    x = x.replace('[','')
    x = x.replace(']','')
    resources = b.split (',')

    if ',' in x:
        x = x.split(',')
    print(x)
有什么想法吗?

可以用来计算包含有效Python文本的字符串。要处理数据,我们需要将
字节
对象解码为字符串。我们可以使用默认的UTF-8编码

from ast import literal_eval

s = b"['cat', 'dog']"
a = literal_eval(s.decode())
print(a, type(a))
输出

['cat', 'dog'] <class 'list'>
['cat','dog']

您可以使用
ast.literal\u eval
,但最好先确定创建或获取缓存数据的方式,以便它实际上是一个合适的列表。