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

10 Аккуратных Трюков Python, Которые Должны Знать Новички

Вот 10 потенциально полезных трюков Python, которые новички могут и не знать.

Автор оригинала: Sumit Raj.

Трюк №1

Реверсирование строки в Python

>>> a =  "codementor"
>>> print "Reverse is",a[::-1]
Reverse is rotnemedoc

Трюк № 2

Транспонирование матрицы

>>> mat = [[1, 2, 3], [4, 5, 6]]
>>> zip(*mat)
[(1, 4), (2, 5), (3, 6)]

Трюк № 3

a = [1,2,3]

Сохраните все три значения списка в 3 новых переменных

>>> a = [1, 2, 3]
>>> x, y, z = a 
>>> x
1
>>> y
2
>>> z
3

Трюк № 4

a = [“Код”, “наставник”, “Python”, “Разработчик”]

Создайте единую строку из всех элементов в приведенном выше списке.

>>> print " ".join(a)
Code mentor Python Developer

Трюк № 5

Список 1 = [‘a’, ‘b’, ‘c’, ‘d’]

Список 2 = [‘p’, ‘q’, ‘r’, ‘s’]

Напишите код Python для печати

  • ap
  • bq
  • cr
  • дс
>>> for x, y in zip(list1,list2):
...    print x, y
...
a p
b q
c r
d s

Трюк № 6

Замените два числа одной строкой кода.

>>> a=7
>>> b=5
>>> b, a =a, b
>>> a
5
>>> b
7

Трюк № 7

Печать “codecodecodecode mentor mentor mentor mentor mentor” без использования циклов

>>> print "code"*4+' '+"mentor"*5
codecodecodecode mentormentormentormentormentor

Трюк № 8

а = [[1, 2], [3, 4], [5, 6]]

Преобразуйте его в единый список без использования каких-либо циклов.

Выход:- [1, 2, 3, 4, 5, 6]

>>> import itertools 
>>> list(itertools.chain.from_iterable(a))
[1, 2, 3, 4, 5, 6]

Трюк № 9

Проверка, являются ли два слова анаграммами

def is_anagram(word1, word2):
    """Checks whether the words are anagrams.
    word1: string
    word2: string
    returns: boolean
    """

Выполните описанный выше метод, чтобы определить, являются ли два слова анаграммами.

from collections import Counter
def is_anagram(str1, str2):
     return Counter(str1) == Counter(str2)
>>> is_anagram('abcd','dbca')
True
>>> is_anagram('abcd','dbaa')
False

Трюк № 10.

Принимая строковый ввод.

Например, “1 2 3 4” и return [1, 2, 3, 4]

Помните, что возвращаемый список содержит целые числа. Не используйте более одной строки кода.

>>> result = map(lambda x:int(x) ,raw_input().split())
1 2 3 4
>>> result
[1, 2, 3, 4]