拆分()不工作?

时间:2014-05-29 00:19:06

标签: python string list split

所以我想分割一个字符串 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']

3 个答案:

答案 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?

不完美,我知道,但我希望它有所帮助。