it-swarm.com.ru

Как преобразовать разделенную запятыми строку в список в Python?

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

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

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

mList = ['A', 'B', 'C', 'D', 'E']
114
O.rka

Вы можете использовать метод 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']
191
Matt Williamson

В случае целых чисел, включенных в строку, если вы хотите избежать приведения их к 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]
10
Camilo Celis Guzman
>>> some_string='A,B,C,D,E'
>>> new_Tuple= Tuple(some_string.split(','))
>>> new_Tuple
('A', 'B', 'C', 'D', 'E')
4
Raymond Hettinger

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

def stringtolist(x):
    mylist=[]
    for i in range(0,len(x),2):
        mylist.append(x[i])
    return mylist
0
Hemang Jalali