Как преобразовать разделенную запятыми строку в список в Python? - PullRequest
132 голосов
/ 21 октября 2011

Имеется строка, представляющая собой последовательность нескольких значений, разделенных запятой:

mStr = 'A,B,C,D,E' 

Как преобразовать строку в список?

mList = ['A', 'B', 'C', 'D', 'E']

Ответы [ 4 ]

216 голосов
/ 21 октября 2011

Вы можете использовать метод str.split.

>>> my_string = 'A,B,C,D,E'
>>> my_list = my_string.split(",")
>>> print my_list
['A', 'B', 'C', 'D', 'E']

Если вы хотите преобразовать его в кортеж, просто

>>> print tuple(my_list)
('A', 'B', 'C', 'D', 'E')

Если вы хотите добавить в списокпопробуйте это:

>>> my_list.append('F')
>>> print my_list
['A', 'B', 'C', 'D', 'E', 'F']
11 голосов
/ 30 июня 2015

В случае целых чисел, включенных в строку, если вы хотите избежать приведения их к int по отдельности, вы можете сделать:

mList = [int(e) if e.isdigit() else e for e in mStr.split(',')]

Это называется понимание списка и основано на нотации построителя множеств.

например:

>>> mStr = "1,A,B,3,4"
>>> mList = [int(e) if e.isdigit() else e for e in mStr.split(',')]
>>> mList
>>> [1,'A','B',3,4]
4 голосов
/ 21 октября 2011
>>> some_string='A,B,C,D,E'
>>> new_tuple= tuple(some_string.split(','))
>>> new_tuple
('A', 'B', 'C', 'D', 'E')
0 голосов
/ 30 января 2019

Вы можете использовать эту функцию для преобразования разделенных запятыми строк из одного символа в список -

def stringtolist(x):
    mylist=[]
    for i in range(0,len(x),2):
        mylist.append(x[i])
    return mylist
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...