Python中将字符串转换为列表

45 投票
5 回答
162904 浏览
提问于 2025-04-16 14:32

我想把一个字符串分割成:

'QH QD JC KD JS'

像这样一个列表:

['QH', 'QD', 'JC', 'KD', 'JS']

我该怎么做呢?

5 个回答

14

可能像这样:

list('abcdefgh') # ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
25

这里是最简单的

a = [x for x in 'abcdefgh'] #['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
75
>>> 'QH QD JC KD JS'.split()
['QH', 'QD', 'JC', 'KD', 'JS']

split:

这个方法会把字符串里的单词分开,使用sep作为分隔符。如果你给了maxsplit这个参数,那么最多只会分开maxsplit次(这样,结果列表最多会有maxsplit+1个元素)。如果没有指定maxsplit,那么就没有分开的次数限制(会尽可能多地进行分割)。

如果指定了sep,那么连续的分隔符不会被合并在一起,而是会被认为是分隔了空字符串(比如,'1,,2'.split(',')的结果是['1', '', '2'])。sep可以由多个字符组成(例如,'1<>2<>3'.split('<>')的结果是['1', '2', '3'])。如果用指定的分隔符去分割一个空字符串,结果会是['']

如果没有指定sep或者sepNone,那么会用另一种分割方式:连续的空白字符会被视为一个分隔符,如果字符串的开头或结尾有空白字符,结果中不会包含空字符串。因此,用None作为分隔符去分割一个空字符串或只包含空白的字符串,结果会是[]

例如,' 1 2 3 '.split()的结果是['1', '2', '3'],而' 1 2 3 '.split(None, 1)的结果是['1', '2 3 ']

撰写回答