Назначение ломтиков – это немного использованная, красивая функция Python, чтобы заменить кусок с другой последовательностью. Просто выберите ломтик, который вы хотите заменить слева и значения, чтобы заменить его на правую сторону уравнения. Например, назначение среза Список [2: 4] = [42, 42] заменяет элементы списка с индексом 2 и 3 со значением 42 .
>>> lst = [1, 2, 3, 4, 5] >>> # Slicing >>> lst[2:4] [3, 4] >>> # Slice Assignment >>> lst[2:4] = ['Alice', 'Bob'] >>> lst [1, 2, 'Alice', 'Bob', 5] >>> lst[2:4] ['Alice', 'Bob']
Я записал быстрое видео, которое показывает, как работает функция наседания нарезки в Python One-Liner :
Играйте с назначением ломтики в вашей интерактивной оболочке
До того, как я объясню это вам, не стесняйтесь играть с этой функцией себя:
Один из моих пользователей Finxter, Майк , спросил следующий большой вопрос:
«Я собирался через множество нарезных головоломок на сайте Finxter, я наткнулся на это:
letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] letters[1:] = [ ] print(letters)
Я изначально ответил [«B», «C», «D», «E», «F», «G»], но получил неправильно ».
Это точка, где я хочу открыть разрыв в знаниях: Что вместо этого вывод этой головоломки?
** Для вашего удобства вы также можете решить эту конкретную головоломку в приложении Finxter здесь. **
«Как ответ – это [« а »], я сразу же стал любопытно, потому что это [не] ответ, если мы будем использовать этот код
letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] print(letters[1:]) # ['b', 'c', 'd', 'e', 'f', 'g']
Почему эти работы по-разному? Спасибо, я действительно ценю ваше время и весь контент, который вы предоставляете каждый день ».
Опять же, отличный вопрос. Майк сделал большую часть тяжелого подъема самого себя. Ответ прост (если вы прочитали мой Slicing Booklet уже):
- Первая версия – Назначение среза Отказ
- Вторая версия – Основные нарезки Отказ
Они не то же самое. Вы не должны путать нарезки и нарезание нарезки. Вот разница:
1) S лицензирован создает новую подпоследовательность исходной последовательности. Вы
x = list("coffeebreak") y = list("python") y = x[0:4] print(''.join(y)) # 'coff'
2) Назначение среза Заменяет выбранный ломтик в исходной последовательности y со значением, указанным в правой части уравнения:
x = list("coffeebreak") y = list("python") y[0:2] = x print(''.join(y)) # 'coffeebreakthon'
Обратите внимание, что два фрагмента кода также демонстрируют, как вы можете преобразовать строку в список и конвертировать список обратно в строку.
Этот урок Python основан на моей бесплатной серии электронной почты «Coffee Break Python». Присоединяйтесь к нам. Это весело! 🐍.
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.