Основные приемы Python для повседневного программирования

Python, названный в честь британской комедийной труппы Monty Python, — невероятно полезный язык программирования. Вот 3 совета, которые помогут сэкономить время на решении типичных проблем.

Вот три совета, которые мы рассмотрим:
1. Понимание списков
2. Использование enumerate() для перебора списков
3. Перевернуть строку или список

1. Список включений

Понимание списков великолепно и может сэкономить ваше время и место при создании списков.

Понимание списка — это когда вы объявляете переменную списка с логикой для списка в той же строке, сокращая синтаксис при создании нового списка.

Пример. Скажем, нам нужен список с числами, кратными 4, от 1 до 50…

Вы можете сделать что-то вроде этого:

my_list = [] 
for i in range(1,50):
    if i%4==0:
        my_list.append(i) 
print(my_list) 
## output would be:
my_list = [4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48]

С пониманием списка:

my_list = [i for i in range(1,50) if i%4==0]
## output would be:
my_list = [4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48]

Это не только экономит время и синтаксис, но и остается очень читабельным. Вы можете четко видеть, каким будет каждое значение («i»), цикл («для i в диапазоне (1,50)») и оператор if («if i%4==0»).

Существует гораздо лучшее применение для понимания списков — я призываю вас искать и исследовать!

2. Использование enumerate() для перебора списков

Довольно часто вам может понадобиться выполнить итерацию по списку и получить доступ не только к значениям в списке, но и к позиции индекса каждого элемента. Поэтому вы можете просто перебрать диапазон, равный длине списка, а затем получить значение, вызвав индекс списка…

…что-то вроде этого:

my_list = ['cat', 'dog', 'parrot']
for i in range(len(my_list)):
    print(i, my_list[i])
## Output would be:
0 'cat'
1 'dog'
2 'parrot'

С перечислением():

my_list = ['cat', 'dog', 'parrot']
for i, v in enumerate(my_list):
    print(i, v)
## Output would be:
0 'cat'
1 'dog'
2 'parrot'

Функция enumerate() преобразует список в класс enumerate, который позволяет вам получить доступ к индексу и значению каждого элемента. Это устраняет необходимость в «range(len(x))».

Вы также можете просто зациклить перечисление «элементов»
, используя вместо этого for i in enumarate(x): для возврата кортежей — попробуйте!

3. Перевернуть строку или список

Это супер простой и очень полезный совет. Возможно, вы знаете это, но я — несколько смущающе — довольно долго не знал об этом маленьком трюке.

И вот оно:

s = 'Hello World!'
l = [4, 2, 0]
print(s[::-1])
print(l[::-1])
## Output would be:
'!dlroW olleH'
[0, 2, 4]

Ключом к этому является «[::-1]»

Доступ к элементам в списках или символам в строках осуществляется с помощью квадратных скобок [], которые содержат интересующие нас индексы.

Например:

variable[4] -> get a single item at index 4
variable[1:4] -> get all items with indices between 1 and 4 
variable[:-1] -> get all items up to the last item
variable[3:] -> get all items with indices >= 3
variable[1:6:2] -> get every 2nd item with indices between 1 and 6 
[start : end : step]

Итак, в нашем случае «[::-1]» мы просим Python найти все элементы, но пройтись по ним со значением -1 (каждый элемент в обратном порядке). Мы также могли бы использовать шаг -2, чтобы все остальные элементы в списке работали в обратном порядке, или определить начало и конец, чтобы перевернуть раздел списка или строки — пробуйте!

Надеюсь, эти советы были вам полезны, и вы сможете найти им применение в повседневной жизни!

Подписывайтесь, если хотите видеть больше подобного контента! :)