Рубрики
Без рубрики

Вернуться к основам : Больше струн в Python

<< Неделя 9: блокчейн | Просмотреть решение на GitHub | Неделя 11: слияние сортировки >> (Изображение:… Tagged с Python, Codenewbie, Computerscience, новичками.

<< Неделя 9: блокчейн | Просмотреть решение на GitHub | Неделю 11: Слияние сортировки >>

(Изображение: Howtogeek.com)

На прошлой неделе мы реализовано блокчейн , что было довольно интенсивным, поэтому на этой неделе я решил дать вам перерыв с простой проблемой. Это хорошая практика, верно? Давайте взглянем.

# Write a method to replace all spaces in a string with '%20'. 
# Ignore any additional white space at the beginning or end of the string.

Если вы были в Интернете, что, я полагаю, у вас есть, вы, возможно, заметили, что в них никогда не будет места. Если вы попытаетесь ввести URL -адрес в своем браузере и включить пространство, вы можете заметить, что он преобразует его в экономный персонаж: «%20». Попробуйте набрать ” http://google.com/ /” в Chrome, и вы увидите, что он преобразует его в ” http://google.com/%20/ “. Не то чтобы эта страница никуда ушла, но вы поняли.

Для этой проблемы мы собираемся написать метод, чтобы сделать то, что только что сделал ваш браузер, то есть принять URL в качестве строки и вернуть кодированную форму с заменой на «%20». Давайте начнем с определения нашего метода, который принимает строку s .

def urlify(s):
    pass

Далее, давайте посмотрим на мелкий шрифт: Не обращайте внимания на любое дополнительное место в начале или в конце струны. Давайте сразу же позаботимся об этом, используя Python strip () Метод для удаления любого ведущего или следственного пробела на нашей струне.

def urlify(s):
    s = s.strip()

Давайте подумаем о решении этих пространств. Мы могли бы пройти через строку и посмотреть на каждого символа, проверяя, является ли это пространство, и если да, замените ее. Тем не менее, есть более простой способ сделать это. Python имеет некоторые встроенные методы для разделения строки на основе данного символа. Затем мы можем соединить их вместе с заменой «%20».

Начните с звонка split () метод Мы можем назвать это после нашего .полоска () . Метод принимает один аргумент, символ разделителя, который в нашем случае – «», одно пространство.

def urlify(s):
  s = s.strip().split(" ")

Это должно дать нам список строк. Например, если строка была «Привет, меня зовут Эрик», теперь S это список, содержащий [«Привет», «мое», «имя», «есть», «erik»].

Теперь мы просто должны присоединиться к элементам списка вместе. .join () Метод немного странно; Вы называете это на строке, которую хотите вставить между словами, и передавать в список в качестве аргумента. Итак, если наша строка замены «%20», мы называем .join () После этого (я просто обхватываю его в скобках) и передаю это S , который сейчас является списком. Мы могли бы переопределить эту переменную в S , но я просто собираюсь вернуть его.

def urlify(s):
  s = s.strip().split(" ")
  return ("%20").join(s)

И это все! Чтобы подтвердить:

  1. Снимите пробел.
  2. Разделите на космическом персонаже.
  3. Присоединяйтесь к «%20» между каждым предметом.

Проверьте это

Пройти наш urlify Метод Строка, содержащая несколько пробелов. Он должен вернуть строку с этими пространствами, замененными символом побега URL.

print(urlify("My name is Erik "))
# -> My%20name%20is%20Erik

Вот и все на этой неделе; Надеюсь, мы дали вашему мозгу отдохнуть после всех этих связанных списков. Не забывайте о них слишком долго, так как на следующей неделе мы будем заниматься бинарные деревья Сортировка слиянием. Тогда увидимся!

<< Неделя 9: блокчейн | Просмотреть решение на GitHub | Неделю 11: Слияние сортировки >>

Шеймус Хейккила ранее был ассистентом преподавателя в Генеральной Ассамблеи Сиэтл. Этот блог не связан с GA.

Оригинал: “https://dev.to/pythonwb/back-to-basics-more-strings-in-python-3cn1”