有些时候,我们从外部获取到的字符串里,有一种是具备列表格式的字符串,比如:'[1,2,3,4]’。
假设需要我们将其变为list的话,有种比较直白的方式是:
结果为:
[1,2,3,4,5]
这里用到了isalnum()函数,就是判断字符串是数字或者字母。但是这种后半部分,如果要做到严谨一点,就不能直接int(i)了,还要再做个判断。
这样的话,如果a本身是个字符串列表的字符串的话,也不会出现错误。
但是有没有更简单的方法,当然有,不过这个方法是有点危险性的。
就是利用eval()函数,这个非常的快,直接上代码:
结果为:
[1, 2, 3, 4, 5]
是不是非常的快。一行代码搞定。
但是eval()函数就是将字符串解析成表达式,所以,经常会出现一些危险性,被人恶意传送一些带表达式的字符串,然后达到执行的目的。
所以,我们可以采用字典的模式来约束这个行为。比如:
就是在字典里定义好,每个key对应一个固定的表达式,这样就避免被人利用eval的特性。
每天学一点,积少成多。