Рубрики
Без рубрики

Еще 5 прохладных упражнений Python

Как обычно, если вы хотите идти прямо вперед для кода, вот оно: >>> HTTPS: //github.com / … Теги с Python.

Как обычно, если вы хотите пройти прямо вперед для кода, вот оно: >>> https://github.com/hugoestradas/python_basics.

1) Подсчет уникальных слов.

Почти каждое современное программное обеспечение Word Processor имеет подсчет инструмента GO получить общее количество слов в документе. Я возьму эту концепцию немного дальше, чтобы практиковать оба сломать текстовые и счетные предметы.

Для этого упражнения я напишу функцию Python, чтобы подсчитать количество уникальных слов и как часто происходит каждый.

Мой вклад будет путь текстового файла, а выход или результат будет общее количество слов, топ-10 наиболее частых слов и, наконец, количество вхождений на топ-10:

На этот раз я импортирую два модуля Python: «Re» для регулярных выражений и «коллекции» для подсчета. Моя функция начинается с открытия файла, с заданным «Путь» переменной, которая хранит местоположение файла, а затем используя регулярное выражение, которое я нахожу все слова в его тексте. Шаблон поиска ищет любую последовательность одной или нескольких букв, цифр, дефисов и/или апострофов.

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

В строке 10 я создаю новый объект «Counter» и используйте A для цикла, чтобы перейти через весь список слов и увеличивать записи списка в словаре счетчика.

В последнем блоке кода я использую метод «MOST_COMMON» счетчика для получения списка 10 наиболее распространенных слов, а также их значения счетчика для отображения:

2) Объединение файлов CSV

Файлы, разделенные запятыми (CSV) – это формат файла, который хранит табличные данные в простом тексте.

Я собираюсь написать функцию Python, чтобы объединить несколько файлов CSV в одну.

Я собираюсь получить в качестве ввода списка файлов в переменной «Путь».

Функция должна быть достаточно надежной, чтобы объединить файлы, которые заголовки даже не совпадают. Поля могут быть в разном порядке, или файл может иметь дополнительные поля, которые другой нет. Это будет обрабатывать все эти случаи, не теряя никаких полей или данных:

Первый блок кода создает список имен полей, я запускаю с создания пустого списка, затем используйте цикл A для открытия всех файлов в списке входных файлов CSV для объединения. Я использовал «Dictreader» CSV модуля «Dictreader» на линии восьми, чтобы извлечь все имена поля из каждого файла, а затем в строке девять я добавляю их в список полевых знаний, если они еще не там от предыдущего входного файла.

Вторая часть функции, обрабатывает запись записей в выходной файл, основанный на этих именах поля. Я использовал менеджер контекста, чтобы открыть выходной файл для записи в строке 12, а затем создал новый объект «DictWriter» из модуля CSV, проходящей в списке полей имен, которые я создал. Каждая запись, которую я добавил, используя этот метод «DICTWRITER», включает все поле из этого списка. В строке 14 я пишу первую строку заголовка в выходной файл, а затем используйте цикл для итерации, чтобы повторить все входные файлы CSV. Я открываю каждый раз и создаю новый «Dictreader» из него, затем я использую цикл для петли, чтобы перебраться через каждую запись в этом входном файле и записывать его в выходной файл. Если эта строка, которую я только что читал, отсутствует определенные поля, «DictWriter» оставит их пустыми или пустыми в выходе.

Это файлы CSV, которые я буду сравнивать с моей функцией:

И это последний объединенный файл CSV:

3) Сохранить словарь.

Словари Pythons очень популярны среди ученых данных, инженеров данных и других профессионалов данных. Это потому, что их потрясающие для хранения и извлечения информации. Единственная проблема заключается в том, что эти данные хранятся в памяти.

Что, если вам нужно использовать этот словарь позже?

В этом упражнении я напишу функцию Python, которая хранит словарь в файл.

Мои два входа – это словарь для сохранения и пути для выходного файла.

Я начну, импортируя модуль «Sicle», если вы не знакомы с этой библиотекой, я оставлю официальную документацию здесь:

https://docs.python.org/3/library/pickle.html

И вот код:

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

4) Создайте архив ZIP

Хорошо, прямо здесь мой код:

Как вы можете видеть, я импортировал модуль «ОС» для поиска каталогов и манипулировать пультами файлов и модулем «zipFile», чтобы на самом деле создать мой ZIP-файл.

Моя функция начинается, открывая файл «Вывод_zip» с помощью контекстно-менеджера. На следующей строке я использую функцию «OS.Walk» для изучения и поиска в каталоге.

Как вы можете видеть, что мой для цикла разделяется как в виде Linux-подобной структуре каталогов «root», «Dirs» и, наконец, «файлы».

Мне нужно поддерживать относительный путь к файлам для файлов в архиве вывода, но если пользователь вызывает функцию «zip_all» с абсолютным путем, корневой путь, который я получаю из функции «Прогулка», также будет абсолютной. Вот почему на линии 7 я использую функцию «OS.Relpath».

5) Найти все элементы списка

Метод индекса Python находит индекс первого элемента в списке; Но что, если есть несколько экземпляров этого предмета?

В этом я пишу функцию Python, чтобы найти индексы для всех элементов в списке, которые равны данному значению.

Входы являются список поиска и значение для поиска.

Выходной вывод должен быть список индексов, каждый из которых представлен списком номеров.

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

Результат

Оригинал: “https://dev.to/hugoestradas/another-5-cool-python-exercises-31a5”