2014-12-18 6 views
0

У меня есть следующая строка: «keyword_1, keyword_2, keyword_3»Python: преобразование строки в список

Я хочу, чтобы преобразовать строку в список с каждым «ключевым словом» является элементом. Таким образом, это будет: [keyword_1, keyword_2, keyword_3]

Как бы я это сделал? Благодаря!

+2

''keyword_1, keyword_2, keyword_3'.split (", ")'? – thefourtheye

ответ

1

Попробуйте это:

import re  
re.compile(',\s*').split('keyword_1, keyword_2, keyword_3') 

split на , и ноль или более space.

+0

Кажется, что все три ключевых слова помещаются в первый элемент. – fender4645

+1

попробуйте просто ''keyword_1, keyword_2, keyword_3'.split (", ")' –

+0

Метод 'split' в строках не принимает аргументы regex. – DSM

0

пытаются использовать siplit

Возвращает список слов в строке, используя разделитель в качестве разделителя строки. Если задано maxsplit, выполняется максимум maxsplit (таким образом, список будет иметь максимум maxsplit + 1 элемент). Если maxsplit не указан, то нет ограничений на количество расколов (все возможные расщепления сделаны). Если указано sep, последовательные разделители не группируются вместе и считаются разграниченными пустыми строками (например, '1,, 2'.split (', ') возвращает [' 1 ',' ',' 2 ']) , Аргумент sep может состоять из нескольких символов (например, '1 <> 2 <> 3'.split (' <> ') возвращает [' 1 ',' 2 ',' 3 ']). Разделение пустой строки с указанным разделителем возвращает ['']. Если sep не указан или None, применяется другой алгоритм разделения: пробеги последовательного пробела рассматриваются как один разделитель, и результат не будет содержать пустых строк в начале или в конце, если строка имеет начальное или конечное пробелы. Следовательно, разделение пустой строки или строки, состоящей из просто пробела с разделителем None, возвращает [].

Например, .split() возвращает [ '1', '2', '3'], и .split (Нет, 1) возвращает '1 2 3' '1 2 3' [ '1 ',' 2 3 '].

& & String to list in Python

3

Используйте генератор список с split и trim как:

s = 'keyword_1, keyword_2, keyword_3' 
[x.strip() for x in s.split(',')] 
0

Если вы не хотите импортировать дополнительные модули, вы могли бы сделать что-то вроде этого:

string = 'keyword_1, keyword_2, keyword_3' 
string = string.split(",") 
for i in range(len(string)): 
    string[i] = string[i].strip() 
Смежные вопросы