unicode型的嵌套list转成原样list

从数据库里获得一个字段的值T,是一个嵌套列表,因为中文和特殊符号没有加引号,整个列表被python识别为unicode型,
我要的是原样的一个嵌套列表,为此,我用尽方法,现在记录如下,说明,因为情况特殊,我的二维嵌套列表里面到底嵌套几个list元素是未知的
全看数据库里面取出来的是几个就是几个。

#<type 'unicode'> [[1,10,2019-08-25,背书],[2,10,2019-09-25,不背书]]
# T = T.encode("utf-8") 可以将这个unicode转成str类型
T = "[[1,10,2019-08-25,背书],[2,10,2019-09-25,不背书]]"
# 用""替换所有的[]
T = T.replace('[','').replace(']','')
# 去掉所有的,号
files = T.split(',')
# 新建空list
files_List = []
# 取str类型所有的值,依次插入[]
for i in range(len(files)):
    # files[i] = files[i].replace("'", '') # 用''替换所有的"'",这里所有的值都没有'号,所以不需要
    # print "-------------------------------"
    # print files[i]
    files_List.append(files[i])
# print files_List
# 创建新的list
T_list = []
# 4个一组,在新的[]中插入[],生成二位数组
for i in range(len(files_List) / 4):
    T_list.append([])
# 双重循环,在嵌套的list里面插入元素
for j in range(len(files_List)/4):
    for i in range(4):
        T_list[j].append(files_List.pop(0))

print(T_list) # 这就是最终要的结果
# [['1','10','2019-08-25','背书'],['2','10','2019-09-25','不背书']]

猜你喜欢

转载自blog.csdn.net/qq_42833469/article/details/86493993