Содержание

всевозможные способы и примеры String.split()

Чтобы разделить строку в Python с помощью разделителя, вы можете использовать метод split() класса String для этой строки.

Синтаксис

Синтаксис метода String.split():

str.split(separator, maxsplit)

Где:

  • str – это строка, которую нужно разделить.
  • separator – это разделитель, в котором строка разделяется. Если не предусмотрено, то вся строка рассматривается как один фрагмент и возвращается, как элемент в списке.
  • maxsplit – это максимальное количество разделений, которое можно сделать. Если не предусмотрено, выполняется максимально возможное разбиение.

Пример 1: если есть фрагменты, разделенные запятыми

В этом примере мы берем строку, в которой есть фрагменты, разделенные запятыми. Мы разделим эту строку, используя запятую в качестве разделителя, и сохраним результат в переменной.

str = 'Python,Examples,Programs,Code,Programming'

chunks = str.
split(',') print(chunks)

Вывод:

['Python', 'Examples', 'Programs', 'Code', 'Programming']

Пример 2: с ограниченным количеством разделений

В этом примере мы берем строку, в которой есть фрагменты, разделенные запятыми. Мы разделим эту строку, используя запятую в качестве разделителя и максимальное количество фрагментов, равное 3.

str = 'Python,Examples,Programs,Code,Programming'

chunks = str.split(',', 3)
print(chunks)

Вывод:

['Python', 'Examples', 'Programs', 'Code,Programming']

Строка делится на три части и, следовательно, получается 4 части.

Пример 3: без аргументов

Если для функции split() не предоставлены аргументы, один или несколько пробелов считаются разделителями, а входная строка разделяется.

В этом примере мы разделим строку на произвольное количество пробелов между частями.

str = '    hello World!    Welcome to  Python     Examples. '

#split function without any arguments
splits = str.split()

print(splits)

Вывод:

['hello', 'World!', 'Welcome', 'to', 'Python', 'Examples.']

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

Как разбить строку на фрагменты определенной длины?

Чтобы разбить строку на фрагменты определенной длины, используйте функцию «Понимание списка» со строкой. Все фрагменты будут возвращены в виде массива.

Мы также можем использовать цикл while, чтобы разделить список на части определенной длины.

В этом руководстве мы узнаем, как разбить строку на фрагменты определенной длины с помощью подробных примеров программ в Python.

Образец фрагмента кода

Ниже приведен небольшой фрагмент кода для разделения заданной строки str на фрагменты определенной длины n с использованием понимания списка.

n = 3 # chunk length
chunks = [str[i:i+n] for i in range(0, len(str), n)]

Пример: разделение строки на части

В этом случае мы возьмем строку str и разделим эту строку на фрагменты длиной 3, используя понимание списка.

str = 'CarBadBoxNumKeyValRayCppSan'

n = 3
chunks = [str[i:i+n] for i in range(0, len(str), n)]
print(chunks)

Вывод:

['Car', 'Bad', 'Box', 'Num', 'Key', 'Val', 'Ray', 'Cpp', 'San']

Строка разбивается на список строк, каждая из которых имеет длину, как указано, т.е. 3. Вы можете попробовать с другой длиной и разными значениями строки.

Пример: по длине

В этом примере мы разделим строку на фрагменты длиной 4. Кроме того, мы взяли строку, длина которой не делится точно на длину фрагмента. В этом случае последний блок содержит символы, количество которых меньше указанного нами размера блока.

str = 'Welcome to Python Examples'

n = 4
chunks = [str[i:i+n] for i in range(0, len(str), n)]
print(chunks)

Вывод:

['Welc', 'ome ', 'to P', 'ytho', 'n Ex', 'ampl', 'es']

Пример: с нулевой длиной блока

В этом примере мы протестируем скрипт с размером 0 и проверим вывод. Функция range() вызывает ошибку ValueError, если ее третий аргумент равен нулю.

str = 'Welcome to Python Examples'

#chunk size
n = 0

chunks = [str[i:i+n] for i in range(0, len(str), n)]
print(chunks)

Вывод:

Traceback (most recent call last):
  File "example1.py", line 4, in <module>
    chunks = [str[i:i+n] for i in range(0, len(str), n)]
ValueError: range() arg 3 must not be zero

Длина блока не должна быть равна нулю, поэтому мы получили ValueError для range().

Пример: с помощью цикла while

В этом примере мы разделим строку на фрагменты с помощью цикла Python While Loop.

str = 'Welcome to Python Examples'
n = 5

chunks = []

i = 0
while i < len(str):
    if i+n < len(str):
        chunks.append(str[i:i+n])
    else:
        chunks.append(str[i:len(str)])
    i += n
print(chunks)

Вывод:

['Welco', 'me to', ' Pyth', 'on Ex', 'ample', 's']

Мы узнали, как разделить строку по длине в Python с помощью подробных примеров.

С помощью regex

Вы можете разделить строку в Python с разделителем, определяемым регулярным выражением.

В этом примере мы возьмем строку с элементами или словами, разделенными комбинацией подчеркивания и запятой.

Таким образом, разделителем может быть __, _ ,,, _ или ,,. Регулярное выражение для этих разделителей – «[_,] [_,]». [_,] указывает, что символ может соответствовать _ или,.

import re
#a string
str = '63__foo,,bar,_mango_,apple'
#split string into chunks
chunks = re.split('[_,][_,]',str)
#print chunks
print(chunks)

Вывод:

['63', 'foo', 'bar', 'mango', 'apple']

Пример: разделение строки по классу

Классы регулярных выражений – это классы, охватывающие группу символов. Мы будем использовать один из таких классов, \d, который соответствует любой десятичной цифре.

В этом примере мы также будем использовать +, который соответствует одному или нескольким предыдущим символам.

Регулярное выражение ‘\d +’ соответствует одной или нескольким десятичным цифрам. В этом примере мы будем использовать это регулярное выражение для разделения строки на фрагменты, разделенные одной или несколькими десятичными цифрами.

import re #a string str = 'foo635bar4125mango2apple21orange' #split with regular expression chunks = re. split('\d+',str) print(chunks)

Вывод:

['foo', 'bar', 'mango', 'apple', 'orange']

Мы узнали, как повторно упаковать строку для разделения с помощью регулярных выражений.
Вы можете разделить строку пробелом в качестве разделителя в Python с помощью метода String.split().

В этом руководстве мы узнаем, как разделить строку пробелом в Python с помощью методов String.split() и re.split().

В этом примере мы возьмем строку, содержащую слова, элементы или фрагменты, разделенные пробелом. Затем мы разделим строку по пробелу с помощью метода String.split(), который возвращает список.

str = '63 41 92 81 69 70'

#split string by single space
chunks = str.split(' ')

print(chunks)

Вывод:

['63', '41', '92', '81', '69', '70']

Разделение строки на один или несколько смежных пробелов

В этом примере мы возьмем строку с фрагментами, разделенными одним или несколькими одиночными пробелами. Затем мы разделим строку с помощью функции re.split().

Мы будем использовать пакет re в следующей программе. re.split (regular_expression, string) возвращает список фрагментов, отделенных от строки на основе regular_expression.

import re

str = '63 41    92  81            69  70'

#split string by single space
chunks = re.split(' +', str)

print(chunks)

Регулярное выражение + представляет собой один или несколько немедленно возникающих пробелов. Таким образом, в качестве разделителя рассматривается один или несколько одиночных пробелов.

Вывод:

['63', '41', '92', '81', '69', '70']

Одно или несколько смежных пробелов считаются одним разделителем из-за регулярного выражения.

Деление любым символом пробела

В этом примере мы разделим строку на части с любым символом пробела в качестве разделителя.

Ниже приведен список символов пробела из таблицы ASCII.

Шестнадцатеричный код ASCIIОписание
09Горизонтальная вкладка
0AНовый перевод строки
0BВертикальная табуляция
0DВозврат каретки или подача формы
20Пробел

По умолчанию String.split() без переданного аргумента разбивает строку на фрагменты со всеми пробелами в качестве разделителей.

import re

str = '63 41\t92\n81\r69 70'

#split string by single space
chunks = str.split()

print(chunks)

Вывод:

['63', '41', '92', '81', '69', '70']

В этом примере мы возьмем строку с элементами или словами, разделенными символом подчеркивания _, разделим строку и сохраним элементы в списке.

str = '52_841_63_24_76_49'

#split string by _
items = str. split('_')

print(items)

Вывод:

['52', '841', '63', '24', '76', '49']

Разделение строки одним или несколькими нижними подчеркиваниями

В этом примере мы возьмем строку с элементами или словами, разделенными одним или несколькими символами подчеркивания, разделим строку и сохраним элементы в списке.

Мы будем использовать пакет re в python в следующей программе. re.split (regular_expression, string) возвращает список элементов, отделенных от строки на основе regular expression.

import re

str = '52_841__63____24_76______49'

#split string by _
items = re.split('_+', str)

print(items)

Регулярное выражение _ + представляет одно или несколько подчеркиваний. Таким образом, один или несколько символов подчеркивания считаются разделителями.

Вывод:

['52', '841', '63', '24', '76', '49']

Один или несколько смежных подчеркиваний считаются одним разделителем.

Мы узнали, как разделить строку с помощью подчеркивания с помощью методов String.split() и re.split().

Как разделить строку на новую строку?

Вы можете разделить строку в Python с помощью новой строки в качестве разделителя разными способами.

В этом руководстве мы узнаем, как разбить строку на символ новой строки \n в Python, используя методы str.split() и re.split().

Пример: с помощью str.split()

В этом примере мы возьмем многострочную строку string1. Мы вызовем метод split() для этой строки с символом новой строки \n, переданным в качестве аргумента. Команда split() разбивает строку на символ новой строки и возвращает список строк.

string1 = '''Welcome
to
pythonexamples.org'''

#split string by single space
chunks = string1.split('\n')

print(chunks)

Вывод:

['Welcome', 'to', 'PythonExamples.org']

Строка также может содержать символы \n в строке, как показано ниже, вместо многострочной строки с тройными кавычками.

str = 'Welcome\nto\nPythonExamples.org'

#split string by single space
chunks = str.split('\n')

print(chunks)

Вывод:

['Welcome', 'to', 'PythonExamples.org']

Пример: с помощью re.split()

В этом примере мы разделим строку на новую строку, используя метод split() регулярного выражения re package.

Чтобы использовать пакет re, мы должны импортировать его в начале нашей программы.

import re

string1 = '''Welcome
to
pythonexamples.org'''

#split string by single space
chunks = re.split('\n', string1)

print(chunks)

Вывод:

['Welcome', 'to', 'pythonexamples.org']

Пример: деление на одну или несколько новых строк

В этом примере мы возьмем строку с подстроками, разделенными одним или несколькими символами новой строки. Мы будем использовать пакет re, чтобы разделить строку с одним или несколькими символами новой строки в качестве разделителя. Регулярное выражение, представляющее один или несколько символов новой строки, – \n +. Мы передадим это выражение и строку в качестве аргументов методу re.split().

Синтаксис метода re.split() – re.split (regular expression, string). Функция возвращает список подстрок, отделенных от строки на основе regular expression.

import re

str = '''Welcome

to




PythonExamples.org'''

#split string by single space
chunks = re.split('\n+', str)

print(chunks)

Регулярное выражение \n + представляет одну или несколько смежных новых строк. Таким образом, одна или несколько новых строк считаются разделителем между разделениями.

Вывод:

['Welcome', 'to', 'PythonExamples.org']

В этом руководстве мы узнали, как разбить строку на новую строку с помощью методов String. split() и re.split().

Разделение строки запятой

Вы можете разделить строку в Python с помощью строки, образованной фрагментами и запятыми, разделяющими их.

В этом руководстве мы узнаем, как разделить строку запятыми  с помощью String.split().

Пример 1

В этом примере мы возьмем строку с фрагментами, разделенными запятой, разделим строку и сохраним элементы в списке.

str = 'apple,orange,grape'

#split string by ,
chunks = str.split(',')

print(chunks)

Вывод:

['apple', 'orange', 'grape']

Пример: одной или несколькими запятыми

Если вы используете String.split() с более чем одной запятой, соседствующей друг с другом, вы получите пустые фрагменты. Пример показан ниже.

str = 'apple,,orange,,,grape'

#split string by ,
chunks = str.split(',')

print(chunks)

Вывод:

['apple', '', 'orange', '', '', 'grape']

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

Мы будем использовать пакет re в python в следующей программе. re.split (regular_expression, string) возвращает список элементов, отделенных от строки на основе regular expression.

import re

str = 'apple,,orange,,,grape'

#split string by ,
chunks = re.split(',+', str)

print(chunks)

Регулярное выражение, + представляет одну или несколько запятых. Итак, одна или несколько запятых считаются разделителями.

Вывод:

['apple', 'orange', 'grape']

Одна или несколько смежных запятых считаются одним разделителем.

Разделить строку на список символов

Вы можете разделить строку на список символов в Python разными способами, используя цикл for и класс List.

Пример: с помощью цикла For Loop

В этом примере мы возьмем строку и разделим ее на список символов с помощью цикла for.

def getCharList(str):
	return [char for char in str]
	
str = 'pythonexamples'

print(getCharList(str))

Вывод:

['p', 'y', 't', 'h', 'o', 'n', 'e', 'x', 'a', 'm', 'p', 'l', 'e', 's']

Пример: с помощью класса List

В этом примере мы берем строку и передаем ее конструктору List. Строка считается итерируемой и преобразуется в список с каждым символом в строке как элементом списка.

str = 'pythonexamples'

chars = list(str)

print(chars)

Вывод:

['p', 'y', 't', 'h', 'o', 'n', 'e', 'x', 'a', 'm', 'p', 'l', 'e', 's']

Мы узнали, как разбить строку на список символов на подробных примерах.

Разделить строку с разделителями в Python

В этом посте будет обсуждаться, как разделить строку с разделителями в Python.

1. Использование

re.split() функция

Простое решение для разделения строки по вхождениям шаблона — использование встроенной функции re.split(). Шаблон может состоять из одного или нескольких разделителей:

⮚ Разделить по одному разделителю

Чтобы разделить строку с одним разделителем, вы можете просто передать этот разделитель в re. split() функция.

1

2

3

4

5

6

7

8

9

import re

 

if __name__ == ‘__main__’:

 

    s = ‘Hello,World’

 

    res = re.split(‘,’, s)                # разделен запятой

    print(res)                            # [‘Hello’, ‘World’]

 

Скачать  Выполнить код

⮚ Разделить на несколько разделителей

Чтобы разделить несколько разделителей, вы можете сделать так:

1

2

3

4

5

6

7

8

9

import re

 

if __name__ == ‘__main__’:

 

    s = ‘https://www.techiedelight.com’

 

    res = re.split(‘[:/ .]+’, s)        # разделен двоеточием, косой чертой, пробелом и точкой

    print(res)                          # [‘https’, ‘www’, ‘techiedelight’, ‘com’]

 

Скачать  Выполнить код

⮚ Разбить на небуквенно-цифровые символы

Чтобы разбить строку на не буквенно-цифровые символы, вы можете использовать специальный символ \W, эквивалентно [^a-zA-Z0-9_]. a-zA-Z0-9]+’, s)    # разделен на небуквенно-цифровые символы

    print(res)                            # [‘https’, ‘www’, ‘techiedelight’, ‘com’]

 

Скачать  Выполнить код

2. Использование

re.findall() функция

Другой альтернативой является использование re.findall() функция, которая возвращает все непересекающиеся совпадения шаблона в строке. В следующем примере кода показано его использование с помощью специального символа \w, который соответствует буквенно-цифровым символам и символу подчеркивания.

1

2

3

4

5

6

7

8

9

import re

 

if __name__ == ‘__main__’:

 

    s = ‘https://www.techiedelight.com’

 

    res = re.findall(‘\w+’, s)

    print(res)                            # [‘https’, ‘www’, ‘techiedelight’, ‘com’]

 

Скачать  Выполнить код

 
Специальный персонаж \w является противоположностью \W, т. е. он эквивалентен [a-zA-Z0-9_]. Чтобы разделить подчеркивание, вы можете использовать следующий код:

1

2

3

4

5

6

7

8

9

import re

 

if __name__ == ‘__main__’:

 

    s = ‘https://www.techiedelight.com’

 

    res = re.findall(‘[a-zA-Z0-9]+’, s)

    print(res)                            # [‘https’, ‘www’, ‘techiedelight’, ‘com’]

 

Скачать  Выполнить код

Это все о разделении строки с разделителями в Python.

Оценить этот пост

Средний рейтинг 5/5. Подсчет голосов: 21

Голосов пока нет! Будьте первым, кто оценит этот пост.

Сожалеем, что этот пост не оказался для вас полезным!

Расскажите, как мы можем улучшить этот пост?


Спасибо за чтение.

Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.

Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования 🙂


Питон | Разделить строку на список символов

Имея строку, напишите программу на Python, чтобы разделить символы данной строки на список с помощью Python.

Примеры:   

  Ввод:  гиков
  Вывод:  ['g', 'e', ​​'e', ​​'k', 's']
  Ввод:  слов
  Вывод:  ['W', 'o', 'r', 'd'] 

Метод 1: разбить строку на список Python с помощью метода unpack(*) в частности, итерации, такие как словари, списки и кортежи.

Python3

string = "geeks"

print ([ * string])

Output:  

 [ 'g', 'e', ​​'e', ​​'k', 's'] 

Способ 2: разбить строку на список Python с помощью цикла

Здесь мы разбиваем буквы естественным образом, используя loop, а затем мы добавляем его в новый список.

Python3

string = 'geeksforgeeks'

lst = []

 

for letter in string:

LST. Applend (буква)

Печать (LST)

. ‘, ‘s’, ‘f’, ‘o’, ‘r’, ‘g’, ‘e’, ​​’e’, ​​’k’, ‘s’]

Способ 3. Разделение строки на список Python с использованием обработки списков

В этом подходе используется обработка списков для преобразования каждого символа в список. Используя следующий синтаксис, вы можете разделить символы строки на список.

Python3

string = "Geeksforgeeks"

letter = [x for x in string]

print (letter)

Вывод:  

 ['G', 'f, 'e', ​​'e 'o', 'r', 'g', 'e', ​​'e', ​​'k', 's'] 

Способ 4: разбить строку на список Python с помощью приведения типов list()

Python предоставляет прямое приведение строк к списку с помощью Python list().

Python3

по умолчанию разделить (слово):

     return list (word)

      

word = 'geeks'

print (split(word))

Вывод:  

 ['g', 'e', ​​'e', ​​'k', 's'] 

Метод 5: разбить строку на список Python с помощью extend()

Расширить итерации по входным данным , расширяя список и добавляя каждого члена.

Python3

Строка = . (lst)

Вывод:  

 ['G', 'e', ​​'e', ​​'k', 's', '@', 'f', 'o', ' r'] 

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

спросил

Изменено 3 месяца назад

Просмотрено 1,1 млн раз

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

 «foobar» → ['f', 'o', 'o', 'b', 'a', 'r']
 
  • питон
  • строка
  • список

3

Использовать конструктор списка :

 >>> list("foobar")
['ф', 'о', 'о', 'б', 'а', 'р']
 

список строит новый список, используя элементы, полученные путем повторения входного итерируемого объекта. Строка является итерируемой — итерация по ней дает один символ на каждом шаге итерации.

4

Вы берете строку и передаете ее в list()

 s = "mystring"
л = список (с)
напечатать л
 

Вы также можете сделать это очень простым способом без list():

 >>> [c вместо c в "foobar"]
['ф', 'о', 'о', 'б', 'а', 'р']
 

3

Если вы хотите обрабатывать строку по одному символу за раз. у вас есть различные варианты.

 uhello = u'Hello\u0020World'
 

Использование понимания списка:

 print([x вместо x в uhello])
 

Вывод:

 ['H', 'e', ​​'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
 

Использование карты:

 печать (список (карта (лямбда c2: c2, привет)))
 

Вывод:

 ['H', 'e', ​​'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
 

Вызов Встроенная функция списка:

 печать (список (привет))
 

Вывод:

 ['H', 'e', ​​'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
 

Использование для цикла:

 для c в uhello:
    печать (с)
 

Вывод:

 Ч
е
л
л
о
Вт
о
р
л
г
 

1

Если вам просто нужен массив символов:

 arr = list(str)
 

Если вы хотите разделить строку str по определенному разделителю:

 # str = "temp//temps" будет ['temp', 'temps']
обр = ул. split("//")
 

0

Я изучил еще два способа выполнения этой задачи. Это может быть полезно для кого-то.

Первый простой:

 В [25]: a = []
В [26]: s = 'foobar'
В [27]: a += s
В [28]: а
Out[28]: ['f', 'o', 'o', 'b', 'a', 'r']
 

А второй использует карту и функцию лямбда . Для более сложных задач может подойти:

 В [36]: s = 'foobar12'
В [37]: a = map(lambda c: c, s)
В [38]: а
Out[38]: ['f', 'o', 'o', 'b', 'a', 'r', '1', '2']
 

Например,

 # можно использовать isdigit, isspace или другие средства, такие как регулярное выражение
В [40]: a = map(lambda c: c if c.isalpha() else '', s)
В [41]: а
Out[41]: ['f', 'o', 'o', 'b', 'a', 'r', '', '']
 

Дополнительные методы см. в документации по Python

2

Задача сводится к перебору символов строки и сбору их в список. Самое наивное решение выглядело бы как

 result = []
для символа в строке:
    результат.добавление(символ)
 

Конечно, его можно сократить до

 результат = [символ за символом в строке]
 

, но есть более короткие решения, которые делают то же самое.

list конструктор может использоваться для преобразования любого итерируемого (итераторы, списки, кортежи, строки и т. д.) в список.

 >>> список('abc')
['а', 'б', 'в']
 

Большим плюсом является то, что он работает одинаково как в Python 2, так и в Python 3.

Кроме того, начиная с Python 3.5 (благодаря замечательному PEP 448) теперь можно построить список из любого итерируемого объекта, распаковав его в пустой литерал списка:

 >>> [*'abc']
['а', 'б', 'в']
 

Это удобнее и в некоторых случаях более эффективно, чем прямой вызов конструктора list .

Я бы не советовал использовать подходы на основе map , потому что map возвращает список , а не в Python 3. См. Как использовать фильтр, карту и уменьшение в Python 3 .

1

split() встроенная функция будет разделять значение только на основе определенного условия, но в одном слове она не может выполнить условие. Итак, ее можно решить с помощью список() . Он внутренне вызывает массив и сохраняет значение на основе массива.

Допустим,

 а = "бутылка"
a.split() // вернет только слово, но не разделит каждый символ.
а = "бутылка"
list(a) // разделит ['b','o','t','t','l','e']
 

Распаковать их:

 слово = "Параллелепипед"
печать([*слово])
 

Чтобы разделить строку s , проще всего передать ее в list() . Итак,

 с = 'abc'
s_l = list(s) # s_l теперь ['a', 'b', 'c']
 

Вы также можете использовать понимание списка, которое работает, но не так лаконично, как приведенное выше:

 s_l = [c for c in s]
 

Есть и другие способы, но этого должно хватить. Позже, если вы захотите их рекомбинировать, простой вызов "".join(s_l) вернет вашему списку былую славу в виде строки…

Вы можете использовать метод extend в операциях со списками как хорошо.

 >>> список1 = []
>>> list1.extend('somestring')
>>> список1
['s', 'o', 'm', 'e', ​​'s', 't', 'r', 'i', 'n', 'g']
 

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

 Python 2.7.6 (по умолчанию, 22 марта 2014 г., 22:59:38)
[GCC 4.8.2] на Linux2
Введите «помощь», «авторское право», «кредиты» или «лицензия» для получения дополнительной информации.
>>> t = 'моя строка'
>>> т[1]
'у'
 

Может быть полезно для тестирования без использования регулярного выражения. Содержит ли строка завершающий символ новой строки?

 >>> т[-1] == '\n'
ЛОЖЬ
>>> t = 'моя строка\n'
>>> т[-1] == '\n'
Истинный
 

Что ж, как бы мне ни нравилась версия списка(ов), вот еще один более подробный способ, который я нашел (но он классный, поэтому я решил добавить его в драку):

 >>> text = "Мой корабль на воздушной подушке полный угрей"
>>> [текст[i] для i в диапазоне(длина(текст))]
['М', 'у', '', 'ч', 'о', 'в', 'е', 'р', 'с', 'р', 'а', 'ф', 'т ', ' ', 'и', 'с', ' ', 'ф', 'у', 'л', 'л', ' ', 'о', 'ф', ' ', 'е', 'е', 'л', 'с']
 

2

 из цепочки импорта itertools
строка = 'ваша строка'
цепь (строка)
 

аналогичен list(string) , но возвращает генератор, который лениво оценивается в момент использования, поэтому экономит память.

1

Вот хороший скрипт, который поможет вам определить, какой метод наиболее эффективен для вашего случая:

 import timeit
из цепочки импорта itertools
string = "это строка, которую мы хотим разделить на alist"
защита getCharList (ул):
 список возврата (стр)
деф getCharListComp (ул):
 return [символ для символа в строке]
защита getCharListMap (ул):
 список возврата (карта (лямбда с: с, ул))
защита getCharListForLoop (ул):
 список = []
 для с в ул:
 список.добавлять(с)
деф getCharListUnpack (ул):
 вернуть [*стр]
защита getCharListExtend (ул):
 список = []
 вернуть list.extend(str)
защита getCharListChain (ул):
 обратная цепочка (стр) 
time_list = timeit.timeit(stmt='getCharList(string)', globals=globals(), number=1)
time_listcomp = timeit.timeit(stmt='getCharListComp(string)', globals=globals(), number=1)
time_listmap = timeit.timeit(stmt='getCharListMap(string)', globals=globals(), number=1)
time_listforloop = timeit.