Python
Join / split in python. Как использовать? Как применять? Значения и функции, пж.
Я понял, что метод джойн присоединяет несколько значений, а сплит наоборот. Но как это работает? Как это может пригодиться в разработке и тп тд?
split:
Метод split можно вызвать вообще без аргументов или с одним аргументом-строкой. В первом случае строка разбивается на части, разделённые любыми символами пустого пространства (набором пробелов, символом табуляции и т. д.). Во втором случае разделителем слов считается строка-аргумент. Из получившихся слов формируется список.
~~~
В этом примере все сравнения истинны, т. е. все вызовы функции print выведут True.
s = 'раз два три'
print(s.split() == ['раз', 'два', 'три'])
print(' one two three '.split() == ['one', 'two', 'three'])
print('192.168.1.1'.split('.') == ['192', '168', '1', '1'])
print(s.split('а') == ['р', 'з дв', ' три'])
print('A##B##C'.split('##') == ['A', 'B', 'C'])
~~~
join:
join же всегда принимает один аргумент — список слов, которые нужно склеить. Разделителем (точнее, «соединителем») служит та самая строка, чей метод join вызывается. Это может быть и пустая строка, и пробел, и символ новой строки, и что угодно ещё.
В этих примерах также все сравнения истинны и каждый print выведет True.
```s = ['Тот', 'Кого', 'Нельзя', 'Называть']
print(''.join(s) == 'ТотКогоНельзяНазывать')
print(' '.join(s) == 'Тот Кого Нельзя Называть')
print('-'.join(s) == 'Тот-Кого-Нельзя-Называть')
print('! '.join(s) == 'Тот! Кого! Нельзя! Называть')
```
Метод split можно вызвать вообще без аргументов или с одним аргументом-строкой. В первом случае строка разбивается на части, разделённые любыми символами пустого пространства (набором пробелов, символом табуляции и т. д.). Во втором случае разделителем слов считается строка-аргумент. Из получившихся слов формируется список.
~~~
В этом примере все сравнения истинны, т. е. все вызовы функции print выведут True.
s = 'раз два три'
print(s.split() == ['раз', 'два', 'три'])
print(' one two three '.split() == ['one', 'two', 'three'])
print('192.168.1.1'.split('.') == ['192', '168', '1', '1'])
print(s.split('а') == ['р', 'з дв', ' три'])
print('A##B##C'.split('##') == ['A', 'B', 'C'])
~~~
join:
join же всегда принимает один аргумент — список слов, которые нужно склеить. Разделителем (точнее, «соединителем») служит та самая строка, чей метод join вызывается. Это может быть и пустая строка, и пробел, и символ новой строки, и что угодно ещё.
В этих примерах также все сравнения истинны и каждый print выведет True.
```s = ['Тот', 'Кого', 'Нельзя', 'Называть']
print(''.join(s) == 'ТотКогоНельзяНазывать')
print(' '.join(s) == 'Тот Кого Нельзя Называть')
print('-'.join(s) == 'Тот-Кого-Нельзя-Называть')
print('! '.join(s) == 'Тот! Кого! Нельзя! Называть')
```
Сплит разбивает строку на массив. Джойн наоборот объединяет элементы массива в строку.
На практике бывает очень часто нужно при работе со строками. Или например найти наибольшую или какую нибудь еще цифру в числе. Там тоже есть сплит/джойн
На практике бывает очень часто нужно при работе со строками. Или например найти наибольшую или какую нибудь еще цифру в числе. Там тоже есть сплит/джойн
Похожие вопросы
- Python 3. Взаимодействие split() с input()
- арументы (изменяемых объектов) функций в 1с и Python
- Код на программу python пж
- Параметры функций python (я чайник)
- Python.Какой функцией можно вывести КОЛИЧЕСТВО четных элементов в массиве?
- Помогите пж, я новичок в языке python.
- Сколько значений может возвращать функция?
- Есть ли способ вывести случайное число не используя модуль random в python
- Функции в Python, как понять?
- Python не выводит результат функции
А если, допустим, дан список numbers [ 0,1,2,3],
То чтобы объединить их в строку, нужно писать:
print(numbers.join([0,1,2,3])) ???