Python中将字符串转换为列表
我想把一个字符串分割成:
'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']
这个方法会把字符串里的单词分开,使用
sep
作为分隔符。如果你给了maxsplit
这个参数,那么最多只会分开maxsplit
次(这样,结果列表最多会有maxsplit+1
个元素)。如果没有指定maxsplit
,那么就没有分开的次数限制(会尽可能多地进行分割)。如果指定了
sep
,那么连续的分隔符不会被合并在一起,而是会被认为是分隔了空字符串(比如,'1,,2'.split(',')
的结果是['1', '', '2']
)。sep
可以由多个字符组成(例如,'1<>2<>3'.split('<>')
的结果是['1', '2', '3']
)。如果用指定的分隔符去分割一个空字符串,结果会是['']
。如果没有指定
sep
或者sep
是None
,那么会用另一种分割方式:连续的空白字符会被视为一个分隔符,如果字符串的开头或结尾有空白字符,结果中不会包含空字符串。因此,用None
作为分隔符去分割一个空字符串或只包含空白的字符串,结果会是[]
。例如,
' 1 2 3 '.split()
的结果是['1', '2', '3']
,而' 1 2 3 '.split(None, 1)
的结果是['1', '2 3 ']
。