电话18065871965

邮箱qidianxingcheng@163.com

地址三明市三元区乾龙新村69幢B座2楼

100多个python实用技巧小例子(12)–如何快速将列表字符串转为真正的列表

2019年7月9日 288

场景

有些时候,我们从外部获取到的字符串里,有一种是具备列表格式的字符串,比如:'[1,2,3,4]’。

假设需要我们将其变为list的话,有种比较直白的方式是:

结果为:

[1,2,3,4,5]

这里用到了isalnum()函数,就是判断字符串是数字或者字母。但是这种后半部分,如果要做到严谨一点,就不能直接int(i)了,还要再做个判断。

这样的话,如果a本身是个字符串列表的字符串的话,也不会出现错误。

但是有没有更简单的方法,当然有,不过这个方法是有点危险性的。

解决方案

就是利用eval()函数,这个非常的快,直接上代码:

结果为:

[1, 2, 3, 4, 5]

是不是非常的快。一行代码搞定。

但是eval()函数就是将字符串解析成表达式,所以,经常会出现一些危险性,被人恶意传送一些带表达式的字符串,然后达到执行的目的。

所以,我们可以采用字典的模式来约束这个行为。比如:

就是在字典里定义好,每个key对应一个固定的表达式,这样就避免被人利用eval的特性。


每天学一点,积少成多。