所以我想分割一个字符串 s :
s = "l=2&w=3&h=2"
但是每当我尝试在s上使用 split()函数并将值存储在列表 L 中时,就会出现这种情况:
L = s.split()
L --> ['l=2&w=3&h=2']
我做错了吗?如何拆分此字符串,以便我得到:
L = ['l','=','2','&','w','=','3','&','h','=','2']
答案 0 :(得分:5)
它实际上比你想象的要容易。
L = list(s)
在Python中,字符串是可迭代的,就像列表一样。如果你只是需要遍历字符串,你甚至不需要将存储在列表中。
答案 1 :(得分:4)
split()
没有参数在空格上分割,你的字符串不包含任何参数。要拆分每个字符,只需将字符串直接转换为列表:
L = list(s)
答案 2 :(得分:1)
我不知道整个故事。我知道.list()会起作用,但我也必须这样说。如果您导入正确的库,我认为,您有另一种方法:
import re
s = "l=2&w=3&h=2"
print re.findall(r"[\w']+", s)
# Prints ['1', '=', '2', '&', 'w', '=', '3', '&', 'h', '=', '2']
我从以下来源得到了答案。这实际上是另一个堆栈交换问题:
Split Strings with Multiple Delimiters?
不完美,我知道,但我希望它有所帮助。