【发布时间】:2014-07-18 09:35:45
【问题描述】:
所以我正在尝试拆分字符串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']
【问题讨论】:
所以我正在尝试拆分字符串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']
【问题讨论】:
实际上比你想象的要容易。
L = list(s)
在 Python 中,字符串是可迭代的,就像列表一样。如果您只需要遍历字符串,您甚至不需要 将其存储在列表中。
【讨论】:
split() 没有参数在空格上拆分,您的字符串不包含任何空格。要拆分每个字符,只需将您的字符串直接转换为列表:
L = list(s)
【讨论】:
我不知道整个故事。我知道 .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?
不完美,我知道,但我希望它有所帮助。
【讨论】: