Рубрики

Python | Набор 4 (словарь, ключевые слова в Python)

В двух предыдущих статьях ( Set 2 и Set 3 ) мы обсуждали основы Python. В этой статье мы узнаем больше о питоне и почувствуем его мощь.

Словарь в Python
В python словарь похож на хэш или карты на других языках. Он состоит из пар ключ-значение. Значение может быть доступно по уникальному ключу в словаре.

# Создать новый словарь

d = dict() # или d = {}

  
# Добавить пары ключ-значение в словарь

d['xyz'] = 123

d['abc'] = 345

  
# распечатать весь словарь

print d

  
# печатать только ключи

print d.keys()

  
# печатать только значения

print d.values()

  
# перебирать словарь

for i in d :

    print "%s  %d" %(i, d[i])

  
# другой метод итерации

for index, key in enumerate(d):

    print index, key, d[key]

  
# проверить, существует ли ключ

print 'xyz' in d

  
# удалить пару ключ-значение

del d['xyz']

  
# проверить снова

print "xyz" in d

Выход:

{'xyz': 123, 'abc': 345}
['xyz', 'abc']
[123, 345]
xyz 123
abc 345
0 xyz 123
1 abc 345
True
False

перерыв, продолжить, пройти в Python

перерыв — выводит вас из токовой петли.

продолжить — завершает текущую итерацию в цикле и переходит к следующей итерации.

pass — оператор pass ничего не делает Может использоваться, когда требуется утверждение. синтаксически, но программа не требует никаких действий. Обычно используется для создания минимальных классов.

# Функция для иллюстрации разрыва в цикле

def breakTest(arr):

    for i in arr:

        if i == 5:

            break

        print i,

    # Для новой строки

    print 

  

  
# Функция для иллюстрации продолжения в цикле

def continueTest(arr):

    for i in arr:

        if i == 5:

            continue

        print i,

  

    # Для новой строки

    print 

  
# Функция для иллюстрации прохода

def passTest(arr):

        pass

  

      
# Драйверная программа для проверки вышеуказанных функций

  
# Массив, который будет использоваться для вышеуказанных функций:

arr = [1, 3 , 4, 5, 6 , 7]

  
# Проиллюстрировать перерыв

print "Break method output"

breakTest(arr)

  
# Иллюстрируй продолжение

print "Continue method output"

continueTest(arr)

  
# Проиллюстрировать проход - ничего не делает
passTest(arr)

  

Выход:

Break method output
1 3 4
Continue method output
1 3 4 6 7

карта, фильтр, лямбда

map — функция map () применяет функцию к каждому члену итерируемого и возвращает результат. Если имеется несколько аргументов, map () возвращает список, состоящий из кортежей, содержащих соответствующие элементы из всех итераций.

filter — принимает функцию, возвращающую True или False, и применяет ее к последовательности, возвращая список только тех членов последовательности, для которых функция вернула True.

Лямбда-Python предоставляет возможность создать простую (без внутренних инструкций) встроенную анонимную функцию, называемую лямбда-функцией. Используя лямбду и карту, вы можете иметь два цикла for в одной строке.

# Python программа для проверки карты, фильтра и лямбды

  
# Функция для проверки карты

def cube(x):

    return x**2

  
# Драйвер для проверки вышеуказанной функции

  
# Программа для работы с картой

print "MAP EXAMPLES"

cubes = map(cube, range(10))

print cubes

  

print "LAMBDA EXAMPLES"

  
# первые скобки содержат лямбда-форму, то есть
# квадратная функция и вторые скобки представляют
# вызов лямбды

print (lambda x: x**2)(5)

  
# Сделать функцию из двух аргументов, которые возвращают свой продукт

print (lambda x, y: x*y)(3, 4)

  

  

print "FILTER EXAMPLE"

special_cubes = filter(lambda x: x > 9 and x < 60, cubes)

print special_cubes

Выход:

MAP EXAMPLES
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
LAMBDA EXAMPLES
25
12
FILTER EXAMPLE
[16, 25, 36, 49]

Для большей ясности относительно карты, фильтра и лямбды, вы можете взглянуть на приведенный ниже пример:

# код без использования карты, фильтра и лямбды

  
# Найдите число, которое нечетно в списке
# и умножить их на 5 и создать новый список

  
# Объявить новый список

x = [2, 3, 4, 5, 6]

  
# Пустой список для ответа

y = []

  
# Выполните операции и распечатайте ответ

for v in x:

    if v % 2:

        y += [v*5]

print y

Выход:

[15, 25]

Эту же операцию можно выполнить в две строки, используя map, filter и lambda:

# выше код с картой, фильтром и лямбда

  
# Объявить список

x = [2, 3, 4, 5, 6]

  
# Выполните ту же операцию, что и в предыдущем посте

y = map(lambda v : v * 5, filter(lambda u : u % 2, x))

print y

Выход:

[15, 25]

Ссылки :
https://docs.python.org/2/tutorial/controlflow.html#break-and-continue-statements-and-else-clauses-on-loops
http://www.u.arizona.edu/~erdmann/mse350/topics/list_comprehensions.html

Эта статья предоставлена Нихилом Кумаром Сингхом

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме

Рекомендуемые посты:

Python | Набор 4 (словарь, ключевые слова в Python)

0.00 (0%) 0 votes