В предыдущих двух статьях (Набор 2 и Набор 3) мы обсуждали основы python. В этой статье мы узнаем больше о python и почувствуем силу python.
Словарь на языке Python
В python словарь похож на хэш или карты на других языках. Он состоит из пар ключ-значение. Значение может быть доступно с помощью уникального ключа в словаре.
# Create a new dictionary
d = dict() # or d = {}
# Add a key - value pairs to dictionary
d['xyz'] = 123
d['abc'] = 345
# print the whole dictionary
print (d)
# print only the keys
print (d.keys())
# print only values
print (d.values())
# iterate over dictionary
for i in d :
print ("%s %d" %(i, d[i]))
# another method of iteration
for index, key in enumerate(d):
print (index, key, d[key])
# check if key exist
print ('xyz' in d)
# delete the key-value pair
del d['xyz']
# check again
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 ничего не делает. Его можно использовать, когда требуется заявление. синтаксически, но программа не требует никаких действий.
Он обычно используется для создания минимальных классов.
# Function to illustrate break in loop
def breakTest(arr):
for i in arr:
if i == 5:
break
print (i)
# For new line
print("")
# Function to illustrate continue in loop
def continueTest(arr):
for i in arr:
if i == 5:
continue
print (i)
# For new line
print("")
# Function to illustrate pass
def passTest(arr):
pass
# Driver program to test above functions
# Array to be used for above functions:
arr = [1, 3 , 4, 5, 6 , 7]
# Illustrate break
print ("Break method output")
breakTest(arr)
# Illustrate continue
print ("Continue method output")
continueTest(arr)
# Illustrate pass- Does nothing
passTest(arr)
Выход:
Break method output 1 3 4
Continue method output 1 3 4 6 7
map (карта), filter (фильтр), lambda (лямбда)
- map (Карта): Функция map() применяет функцию к каждому члену iterable и возвращает результат. Если аргументов несколько, функция map() возвращает список, состоящий из кортежей, содержащих соответствующие элементы из всех итераций.
- filter (Фильтр): Он принимает функцию, возвращающую значение True или False, и применяет ее к последовательности, возвращая список только тех членов последовательности, для которых функция вернула значение True.
- lambda (лямбда): Python предоставляет возможность создавать простую (внутренние операторы не разрешены) анонимную встроенную функцию, называемую лямбда-функцией. Используя лямбду и карту, вы можете иметь два цикла for в одной строке.
# python program to test map, filter and lambda
items = [1, 2, 3, 4, 5]
#Using map function to map the lambda operation on items
cubes = list(map(lambda x: x**3, items))
print(cubes)
# first parentheses contains a lambda form, that is
# a squaring function and second parentheses represents
# calling lambda
print( (lambda x: x**2)(5))
# Make function of two arguments that return their product
print ((lambda x, y: x*y)(3, 4))
#Using filter function to filter all
# numbers less than 5 from a list
number_list = range(-10, 10)
less_than_five = list(filter(lambda x: x < 5, number_list))
print(less_than_five)
Выход:
[1, 8, 27, 64, 125]
25
12
[-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4]
Для большей ясности в отношении карты, фильтра и лямбды вы можете посмотреть на приведенный ниже пример:
#code without using map, filter and lambda
# Find the number which are odd in the list
# and multiply them by 5 and create a new list
# Declare a new list
x = [2, 3, 4, 5, 6]
# Empty list for answer
y = []
# Perform the operations and print the answer
for v in x:
if v % 2:
y += [v*5]
print (y)
Выход:
[15, 25]