Что делают эти одинарные кавычки в начале строки 2? - PullRequest
0 голосов
/ 07 декабря 2018

На каком-то случайном веб-сайте я нашел следующий код, объясняющий конкатенацию:

data_numb = input("Input Data, then press enter: ")
numb = ''.join(list(filter(str.isdigit, data_numb)))
print('(' + numb[:3] + ') ' + numb[3:6] + '-' + numb[6:])

, и мне было интересно, что делают одиночные кавычки в

numb = ''.join(

Любая помощь приветствуется!

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

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))

также работает

0 голосов
/ 07 декабря 2018

Метод Join используется для объединения строки с любым итерируемым объектом.В этом примере первая строка является пустой строкой, также представленной двумя одинарными кавычками, '' (не путайте одинарные кавычки с одинарной двойной кавычкой).

Метод join() методаСтроковый объект объединяет его с другим предоставляемым итератором.Таким образом, если первая строка является пустой строкой, результирующая строка является объединенным выводом элементов в итерируемых элементах.

Для чего она используется:

  1. Может использоваться для объединения списка строк.Например:

    a = ['foo', 'bar']
    b = ''.join(a)
    print(b) # foobar
    
  2. Может использоваться для объединения строк.(Так как строка также является итеративной)

    a = "foobar"
    b = ''.join(a)
    print(b) # foobar
    

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...