在Python中,将字符串按空格分隔成列表主要有以下两种方法:
一、使用 split()
方法(推荐)
-
基本用法
默认情况下,
split()
以单个空格为分隔符,将字符串分割成列表。例如:text = "Hello World Python Programming" words = text.split() print(words) # 输出: ['Hello', 'World', 'Python', 'Programming']
这种方法会自动忽略多余的空格,避免生成空字符串元素。
-
处理多个连续空格
若字符串中存在多个连续空格,
split()
会将其视为一个分隔符,从而避免生成空元素。例如:text = "a b c" words = text.split() print(words) # 输出: ['a', 'b', 'c']
这与
split(' ')
的效果一致,后者会生成空字符串元素。
二、使用正则表达式 re.split()
当需要更灵活的分隔符(如制表符、换行符等)或特殊处理时,可使用 re.split()
。例如:
import re
text = "a\tb\nc"
words = re.split(r'\s+', text)
print(words) # 输出: ['a', 'b', 'c']
这里 \s+
匹配一个或多个空白字符,包括空格、制表符和换行符。
总结
-
简单空格分隔 :优先使用
split()
,简洁高效且自动处理多余空格。 -
复杂分隔符或特殊需求 :使用
re.split()
,提供更强大的模式匹配能力。