words = ['Python', 'is', 'awesome']
combined = ' '.join(words) # Разделитель - пробел
print(combined) # 'Python is awesome'
Важные особенности:
# Без разделителя
''.join(['a', 'b', 'c']) # 'abc'
# Специальные разделители
', '.join(['apple', 'banana', 'orange']) # 'apple, banana, orange'
'\n'.join(['line1', 'line2', 'line3']) # Многострочная строка
numbers = [1, 2, 3]
# Преобразуем числа в строки перед объединением
result = ', '.join(map(str, numbers)) # '1, 2, 3'
text = "Python is awesome"
words = text.split() # По умолчанию разделитель - пробел(ы)
print(words) # ['Python', 'is', 'awesome']
sep: задает разделитель
csv = "a,b,c"
items = csv.split(',') # ['a', 'b', 'c']
maxsplit: ограничивает количество разбиений
text = "one two three four"
parts = text.split(' ', 2) # ['one', 'two', 'three four']
# Разбиение по нескольким разделителям (используйте re.split)
import re
text = "apple, banana; orange"
fruits = re.split(r'[,;]\s*', text) # ['apple', 'banana', 'orange']
# Разбиение строки на символы
chars = list("hello") # ['h', 'e', 'l', 'l', 'o']
# Использование re.split с группами захвата
text = "word1, word2; word3"
parts = re.split(r'([,;])', text) # ['word1', ',', ' word2', ';', ' word3']
# Через f-строку (Python 3.6+)
name, age = "Alice", 25
combined = f"{name} is {age} years old" # 'Alice is 25 years old'
# Через форматирование
combined = "{} is {} years old".format(name, age)
# Разбиение по строкам (учитывает разные ОС)
lines = "line1\nline2\r\nline3".splitlines() # ['line1', 'line2', 'line3']
# Разбиение с удалением пустых строк
parts = "a,,b,c".split(',') # ['a', '', 'b', 'c']
parts = [p for p in "a,,b,c".split(',') if p] # ['a', 'b', 'c']
'разделитель'.join(iterable)
- самый эффективный способmap(str, iterable)
str.split()
- для простых случаев (по пробелам)str.split(sep)
- когда нужен конкретный разделительre.split()
- для сложных разделителей (регулярные выражения)str.splitlines()
- для разбиения текста на строкиВыбор метода зависит от конкретной задачи и требований к производительности.