С тех пор, как я написал свои первые строки кода в Python, я был очарован его простотой, отличной читаемостью и его популярными одностротниками, в частности. Далее я хочу представить и объяснить некоторые из этих однострочников – возможно, есть некоторые из них, которых вы еще не знали и полезны для вашего следующего проекта Python.
1. Поменяйте две переменные
# a = 1; b = 2 a, b = b, a # print(a,b) >> 2 1
Давайте начнем с классики: поднимать значения переменных, просто заменяя позиции на присвоение – самый интуитивный способ на мой взгляд. Не нужно использовать временную переменную. Это даже работает с более чем двумя переменными.
2. Несколько переменных назначение
a, b, *c = [1,2,3,4,5] # print(a,b,c) >> 1 2 [3, 4, 5]
Переменные замены на самом деле являются особым случаем способности питонов назначать несколько переменных одновременно. Здесь вы можете использовать его, чтобы назначить список Элементы к данным переменным, которые также называются распаковка Анкет *
Буду снова упаковывать оставшиеся ценности, что приводит к подсудистую для C
Анкет Это даже работает для каждой другой позиции *
(например, начало или средняя часть списка).
3. Сумма над каждым вторым элементом списка
# a = [1,2,3,4,5,6] s = sum(a[1::2]) # print(s) >> 12
Нет необходимости в специальной функции уменьшения здесь, сумма
Просто добавляет элементы каждого данного итерабильного. Расширенный нарезанный синтаксис [::]
используется здесь, чтобы вернуть каждый второй элемент. Вы можете прочитать это как [Старт: Стоп: Шаг] , так [1:: 2]
переводится на Начните с элемента индекса 1 (второй элемент), не останавливайтесь до тех пор, пока не заканчивается список (нет аргумента, заданного для второго параметра) и всегда принимайте 2 шага Анкет
4. Удалить несколько элементов
# a = [1,2,3,4,5] del a[::2] # print(a) >> [2, 4]
Расширенный синтаксис нарезки также может использоваться для удаления элементов нескольких списков одновременно.
5. Читайте файл в массив строк
c = [line.strip() for line in open('file.txt')] # print(c) >> ['test1', 'test2', 'test3', 'test4']
С Pythons Inline для петли Вы можете легко прочитать файл в массив строк. strip ()
необходим для удаления перерывов линии следа. Если вы хотите сохранить их или они не имеют значения для вас, вы можете использовать еще более короткую одну строку:
c = list(open('file.txt')) # print(c) >> ['test1\n', 'test2\n', 'test3\n', 'test4\n']
Это действительно так просто читать файл в Python. Сбочная Примечание. Вы также можете использовать Readleines ()
Метод, если хотите.
6. Написать строку в файл
with open('file.txt', 'a') as f: f.write('hello world') # print(list(open('file.txt'))) >> ['test1\n', 'test2\n', 'test3\n', 'test4\n', 'hello world']
С помощью с
Заявление, вы можете напрямую писать контент в файл. Обязательно используйте правильные Режим Чтобы открыть файл (здесь 'A'
для A Содержание ppending).
7. Список создание
l = [('Hi ' + x) for x in ['Alice', 'Bob', 'Pete']] # print(l) >> ['Hi Alice', 'Hi Bob', 'Hi Pete']
Списки могут быть динамически созданы из других списков с встроенными для цикла. Вы можете напрямую модифицировать значения, такие как соединение строки в этом примере.
8. Список отображения
l = list(map(int, ['1', '2', '3'])) # print(l) >> [1, 2, 3]
Вы также можете использовать Pythons map ()
Функция для отвода каждого элемента списка в другой тип.
9. Установить создание
squares = { x**2 for x in range(6) if x < 4 } # print(squares) >> {0, 1, 4, 9}
Это похоже на Наборы Анкет В дополнение к внедрению для цикла, вы можете даже напрямую добавить условие!
10. Palindrome Check
# phrase = 'deleveled' isPalindrome = phrase == phrase[::-1] # print(isPalindrome) >> true
Палиндром – это серия персонажей, которые читают одинаковые как вперед, так и назад. Обычно вам понадобится некоторые циклы и условия, чтобы проверить, если данная строка является палиндром. В Python вы просто сравниваете строку с его обратной строкой. Вместо использования оператора нарезки [::-1]
, вы также можете использовать React ()
функция, чтобы обратить вспять строку.
Бонус: Дзен питона
import this
Ну, это не нужно объяснить. Просто попробуйте сами, просто введя его в вашу раковину Python 😊🎉
Заверните
Мы видели некоторые (по общему признанию простые) примеры однолетников Python, которые являются мощными и хорошо читаемыми одновременно. Может, вы знаете еще одну полезную одну строку? Поделитесь этим с нами в комментариях!
Опубликовано: 29 июля 2020 года
Оригинал: “https://dev.to/devmount/10-awesome-pythonic-one-liners-explained-3doc”