Основные приемы 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, чтобы все остальные элементы в списке работали в обратном порядке, или определить начало и конец, чтобы перевернуть раздел списка или строки — пробуйте!
Надеюсь, эти советы были вам полезны, и вы сможете найти им применение в повседневной жизни!
Подписывайтесь, если хотите видеть больше подобного контента! :)