Строка для перечисления в Python

24

Привет, я довольно новичок в программировании и пытаюсь разбить строку:

'QH QD JC KD JS'

в список вроде:

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

Я пытался разделить, но это не сработало. Как бы я поступил так?

Спасибо

    
задан Nicole 28.03.2011 в 00:50
источник
  • Как вы пытались разбить строку? –  Felix Kling 28.03.2011 в 00:56
  • Я рекомендую вам Google бесплатную онлайн-книгу под названием «Dive Into Python» –  invert 28.03.2011 в 11:04

3 ответа

45
>>> 'QH QD JC KD JS'.split()
['QH', 'QD', 'JC', 'KD', 'JS']

split :

Return a list of the words in the string, using sep as the delimiter string. If maxsplit is given, at most maxsplit splits are done (thus, the list will have at most maxsplit+1 elements). If maxsplit is not specified, then there is no limit on the number of splits (all possible splits are made).

If sep is given, consecutive delimiters are not grouped together and are deemed to delimit empty strings (for example, '1,,2'.split(',') returns ['1', '', '2']). The sep argument may consist of multiple characters (for example, '1<>2<>3'.split('<>') returns ['1', '2', '3']). Splitting an empty string with a specified separator returns [''].

If sep is not specified or is None, a different splitting algorithm is applied: runs of consecutive whitespace are regarded as a single separator, and the result will contain no empty strings at the start or end if the string has leading or trailing whitespace. Consequently, splitting an empty string or a string consisting of just whitespace with a None separator returns [].

For example, ' 1 2 3 '.split() returns ['1', '2', '3'], and ' 1 2 3 '.split(None, 1) returns ['1', '2 3 '].

    
ответ дан Katriel 28.03.2011 в 00:51
11

Здесь самые простые

a = [x for x in 'abcdefgh'] #['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
    
ответ дан Ojitha 14.11.2017 в 23:54
  • Python 3.5 и более поздние версии [* 'abcdefgh'] –  avalanchy 14.10.2018 в 21:37
-1

Или ради интереса:

>>> ast.literal_eval('[%s]'%','.join(map(repr,s.split())))
['QH', 'QD', 'JC', 'KD', 'JS']
>>> 

ast.literal_eval

    
ответ дан U9-Forward 15.10.2018 в 08:15