Введение
Недавно я начал изучать Python в качестве альтернативы использованию JavaScript для алгоритмов кодирования. Я заметил, что у Python был другой инструментарий, чем я использовал в Ruby и JS, особенно для методов массива/списка.
Вот несколько трюков, которые я изучил, и, надеюсь, они будут вам полезны!
Описания
Списки: Списки сродни массивам, они следуют обозначениям квадратного кронштейна и являются изменчивыми.
список = [1,2,3,4,5]
КУТУ:
- Клетки принимают ту же структуру, что и списки, но являются неизменными, это означает, что их нельзя изменить, чтобы представить новое значение после создания.
- ПУЛЕЙ представлены скобками.
- Они облегчают отладку, поскольку вы знаете, что информация останется неизменной через кортеж, вы можете смягчить отслеживание прошлых изменений.
- Модификация кортежей может работать, такие как итерация и добавление дополнительных индексов в кортеж, но для этого требуется более длительное время, чем если бы вы использовали список, так как кортеж должен быть переделал каждую итерацию, а старые уничтожены.
кортеж = (1,2,3,4,5)
Методы для использования
Подумайте о времени, когда вам пришлось сделать следующее.
- Реверсирование списка?
- Нарежьте список?
- Хватать только четные или нечетные числа из массива?
Python дает нам отличный инструмент, чтобы лучше получить такую информацию из списка, кортежей или даже строки!
Объект [Start: Stop: Step]
То, что вы хотите нарезать, может быть нарезано этим простым форматом. Выберите какой индекс, который остановится (не включая этот индекс), и сколько шагов между новыми индексами. Если вы оставите старт пустым, он начнется в начале массива, оставьте остановку пустой, он закончится в конце массива. Шаг автоматически 1, если не указано иное.
Представьте себе строку и список
боб
числа = [1,2,3,4,5,6,7,8,9,10]
Это будет то, как использовать приведенный выше инструмент, чтобы собрать то, что мне нужно в каждом сценарии:
- Я хочу только имя Боба:
Боб [: 3]
- Я хочу отменить цифры:
числа [::-1]
- Я также хочу изменить то, что любит Боб:
Bobloves [-8: -1] Bobloves [::-1]
- Я хочу только нечетные числа:
числа [:: 2]
- Я хочу кусочек чисел от 1-9:
числа [:-1]
- Я хочу кусочек чисел от 5-10:
Числа [4:]
- Я хочу кусочек чисел от 2-9:
Числа [1: -1]
Это намного быстрее для меня, чем создание нового объекта Slice в Python, а затем применить его к массиву, который мне нужно для нарезов. (Это может быть здорово по другим причинам, конечно.)
Это был мой первый Dev.Te Post, и я рад продолжить делиться с сообществом и больше узнать от всех!
Оригинал: “https://dev.to/wildfire132/learning-a-bit-about-python-a-quicker-way-to-slice-2bba”