如下图所示,有一个字段是list类型。
读取时打印出来看起来就是list,但是打印类型却显示为str。
通过类型转换
如果通过类型转换,直接定义为list,则会拆解为一个有一个的字符串 ,显然是不行的。
通过解析字符串为list
1 2 3 4 5 6 7 8 9 10 11 12 13 |
str1 = 'abcde' str2 = 'a b c d e' str3 = 'a, b, c, d, e' result1 = list(str1) result2 = str2.split() result3 = str3.split(', ') print(result1) print(result2) 结果: ['a', 'b', 'c', 'd', 'e'] ['a', 'b', 'c', 'd', 'e'] ['a', 'b', 'c', 'd', 'e'] |
参照这样的方法,我们使用.split()后又发现一个问题。
第一行及最后一行都带的有一半的方括号,第一行是[,最后一行是],每一行的单引号其实都好处理,但显然要正确识别为list应该不是这样操作。
正确的解决办法
通过eval()函数即可。
这就像JS中的运算式默认会当做字符串,只有通过eval后,才能作为一个整体,而就Python而言,究其原因我不清楚,也可能是和数据库存储类型有关。
原创文章,作者:蓝洛水深,如若转载,请注明出处:https://blog.lanluo.cn/11794