join(iterable)
- это метод из класса str
.
Возвращает строку, которая является конкатенацией строк в итерируемом.Ошибка TypeError будет возникать, если в итерируемых есть какие-либо нестроковые значения, включая байтовые объекты.Разделителем между элементами является строка, обеспечивающая этот метод.
''.join(("Hello", "World"))
вернет 'HelloWorld'
.
';'.join(("Hello", "World", "how", "are", "you"))
вернет 'Hello;World;how;are;you'
.
join
очень полезно, если вам нужно добавить разделитель между каждым элементом из списка (или любого итеративного) строк.
Это выглядит как ничто, но если вы не используете join
, этот видОперация часто уродлива из-за краевых эффектов:
Для списка или кортежа строк:
def join(list_strings, delimiter):
str_result = ''
for e in list_strings[:-1]:
str_result += e + delimiter
if list_strings:
str_result += list_strings[-1]
return str_result
Для любой итерации:
def join(iterable, delimiter):
iterator = iter(iterable)
str_result = ''
try:
str_result += next(iterator)
while True:
str_result += delimiter + next(iterator)
except StopIteration:
return str_result
Потому что join
работает на любой итерации, вам не нужно создавать список из результатов фильтра.
numb = ''.join(filter(str.isdigit, data_numb))
также работает