Языки программирования развиваются каждый день и облегчают жизнь программистам. Одним из них является Python. Недавний опрос разработчиков показал, что Python является вторым любимым языком программирования после JavaScript. Это связано с тем, что программисты получают хорошие возможности для карьерного роста, если выбирают Python в качестве предпочитаемого языка. Более того, синтаксис Python сравнительно легко запомнить, чем C или C++. В последние несколько месяцев спрос на разработчиков Python растет день ото дня.

Если вы программист Python или пытаетесь освоить его, этот блог специально для вас. Здесь я перечислю некоторые моменты, которые помогут программистам легко решать повседневные задачи.

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

1. Найдите элемент с наибольшей частотой

Здесь у нас будет список со случайными элементами. Некоторые элементы будут повторяться, и нам нужно найти элемент с наибольшей частотой.

new_list = [a,b,a,d,e,g,g,a,c,f,k,t,u,z,x,a]

print("Most frequent element:", max(set(new_list),key= new_list.count))

Здесь на выходе будет элемент «a», поскольку он повторяется 4 раза.

2. Поиск подстрок из списка строк.

В приведенном ниже коде у нас есть список строк, и мы собираемся искать их с помощью небольшого ключевого слова, которое у них есть. Как и в методе 1, когда мы искали мета, мы получили Марка Цукерберга на выходе, поскольку они оба являются частью одной строки. мета это просто подстрока. То же самое делается в методе 2, но в другом стиле.

data = [
"Python, Programming Language",
"Meta, Mark Zuckerberg",
"Sebastian Vettel, F1 racer",
"Alexa, Amazon"
]
# Method 1
name = "Meta"
for data in data:
if data.find(name) >= 0:
print(data)
# Method 2
name = "Vettel"
for data in data:
if name in data:
print(data)

3. Объединение словарей

Ниже приведены два словаря с определенными элементами в них. Здесь мы собираемся объединить их и показать нам результат. Первый метод заключается в том, что словари распаковываются в результат, который показывает объединенный вывод. Во втором методе мы копируем первый словарь в результате, а затем обновляем его вторым словарем. В третьем методе мы использовали простой метод, который называется понимание словаря.

dict_no1 = {'h' : 1, 'e' : 2, 'l' : 3, 'l' : 4, 'o' : 5}
dict_no2 = {'s' : 6, 'i' : 7, 'r' : 8}
# Method 1
result = { **dict_no1, **dict_no2}
print(result)
# Method 2
result = dict_no1.copy()
result.update(dict_no2)
print(result)
# Method 3
result = {key: value for d in (dict_no1, dict_no2) for key, value in d.items()}
print(result)

4. Работа с файлами

Обработка файлов используется в Python, когда пользователю необходимо прочитать большие значения, разделенные запятыми. В приведенном ниже коде есть файл с именем «abc», в котором мы выполняем различные функции, такие как открытие файла, чтение файла, чтение одной строки, закрытие файла и запись в файл.

# Open a file
f = open('abc.txt')
# Read from a file
f = open('abc.txt', 'r')
# To read the whole file
print(f.read())
# To read single line
print(f.readline())
# Write to a file
f = open('abc.txt', 'w')
f.write('Writing into a file \n')
# Closing a file
f.close()

5. Сортировка списка словарей

В приведенном ниже коде у нас есть словарь со списками внутри него, который содержит информацию о некоторых людях. Мы будем сортировать список на основе их «id», вы можете сделать это для любого, что вам нужно. Мы используем функциональность sort() или sorted() для выполнения этой задачи.

person = [
{
 'name' : 'andrew',
 'age' : 25,
 'id' : 72365
},
{
 'name' : 'bill',
 'age' : 34,
 'id' : 55443
},
{
 'name' : 'cassie',
 'age' : 22,
 'id' : 63257
}
]
# Method 1
person.sort(key=lambda item: item.get("id"))
print(person)
# Method 2
person = sorted(person, key=lambda item: item.get("id"))
print(person)

6. Расчет времени выполнения

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

import time
start = time.time()
# printing all even numbers till 10
for i in range(10):
if i % 2 == 0:
 print(i, end = “ “)
end = time.time()
time_taken = end — start
print(“\nTime taken: “, time_taken)

7. Обработка ошибок

При обработке ошибок мы используем теорему try-catch, где происходит внезапная остановка, если одна из возможностей не совпадает. В приведенном ниже коде мы будем делить два числа, поэтому, если 2-е число равно нулю, этот код выдаст ошибку вместо ее выполнения и предупреждения пользователя.

no1, no2 = 4,0
try:
 print(no1 / no2)
except ZeroDivisionError:
 print("Division by Zero is not possible!")
finally:
 print("Finally block.")

8. Форматирование строк

При форматировании строк мы изменяем строки, для этого есть несколько способов. В приведенном ниже коде упоминаются некоторые из них. В первом методе используется базовая конкатенация, которая просто складывает строки вместе. Во втором методе мы используем f-строки, в которых имя переменной записывается в фигурных скобках и изменяется во время выполнения. В третьем методе мы используем функцию format(), которая принимает строку или переменную для вставки в строку в качестве аргумента и помещает ее везде, где видит фигурную скобку. В последнем методе мы используем «%s», который показывает, что это строка.

language = "C++"
# Method 1
print(language + " is my favourite programming language.")
# Method 2
print(f"I code in {language}")
# Method 3
print("I like the {} programming language.".format(language))
# Method 4
print("%s is very easy to learn." % (language))

9. Понимание списка с помощью If-else.

Понимание списков очень удобно для пользователей, поскольку помогает сделать код более сложным и читабельным. В приведенном ниже коде мы находим кратные 8, а затем кратные 2 и 4, используя условия if-else.

my_list = ['Multiple of 8' if i % 8== 0
  else 'Multiple of 2' if i % 2 == 0
  else 'Multiple of 4' if i % 4== 0
  else i for i in range(1, 20)]
print(my_list)

10. Сведение списка.

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

mylist = [10,12,36,[41,59,63],[77],81,93]
flat = []
for i in mylist:
 if isinstance(i, list): flat.extend(i)
 else: flat.append(i)
print(flat)

Итак, это были некоторые проблемы Python, с которыми программисты сталкиваются почти каждый день. Надеюсь, вам понравился блог!