Я с большим удовольствием расскажу вам о своем опыте создания массива с набором слов, нахождении списка уникальных слов и подсчете количества повторений каждого слова с использованием коллекций․Для начала, я создал массив, в котором встречаются повторяющиеся слова․ Вместо указания конкретных слов, я предпочел использовать псевдокод для наглядности⁚
python
words [‘слово1’, ‘слово2’, ‘слово1’, ‘слово3’, ‘слово2’, ‘слово4’]
Затем я создал пустой список `unique_words`, в котором будут храниться только уникальные слова⁚
python
unique_words []
Для нахождения уникальных слов я использовал коллекцию `set`, которая автоматически удаляет все повторяющиеся элементы из списка⁚
python
unique_words list(set(words))
Итак, в переменной `unique_words` я получил список уникальных слов, которые встречаются в массиве `words`․Далее, я реализовал подсчет повторений каждого слова с использованием коллекции `Counter`⁚
python
from collections import Counter
word_counts Counter(words)
Результатом этой операции стала коллекция `word_counts`, в которой ключами являются слова, а значениями ⏤ количество повторений каждого слова․Теперь, чтобы проверить правильность работы моей программы, я выведу на экран список уникальных слов и количество повторений каждого слова⁚
python
for word in unique_words⁚
print(f″{word}⁚ {word_counts[word]}″)
Результатом работы программы должно быть что-то подобное⁚
слово1⁚ 2
слово2⁚ 2
слово3⁚ 1
слово4⁚ 1
Теперь перейдем к созданию класса ″Телефонный Справочник″․ Для начала я создал пустой словарь `phone_book`, в котором будут храниться фамилии и соответствующие им телефонные номера⁚
python
phone_book {}
Затем я реализовал метод `add`, который добавляет новые записи в телефонный справочник⁚
python
def add(self, surname, phone_number)⁚
if surname in self․phone_book⁚
self․phone_book[surname]․append(phone_number)
else⁚
self․phone_book[surname] [phone_number]
Если фамилия уже существует в телефонном справочнике, то новый телефонный номер добавляется в список номеров, соответствующих данной фамилии․ В противном случае, создается новая запись с фамилией и телефонным номером․Наконец, я реализовал метод `get`, который позволяет искать номер телефона по фамилии⁚
python
def get(self, surname)⁚
if surname in self․phone_book⁚
return self․phone_book[surname]
else⁚
return ″Такой фамилии нет в справочнике․″
Если фамилия существует в телефонном справочнике, метод возвращает список всех телефонных номеров, соответствующих данной фамилии․ В противном случае, метод возвращает сообщение о том, что такая фамилия отсутствует в справочнике․Теперь, чтобы проверить правильность работы моего класса, я создам экземпляр класса `phone_book` и добавлю несколько записей⁚
python
phone_book PhoneBook
phone_book․add(″Иванов″, ″ 79123456789″)
phone_book․add(″Петров″, ″ 79234567890″)
phone_book․add(″Иванов″, ″ 79091234567″)
Затем, я проверю метод `get` для двух случаев ⎻ когда фамилия присутствует в справочнике и когда фамилии нет в справочнике⁚
python
print(phone_book․get(″Иванов″))
print(phone_book․get(″Сидоров″))
Результатом работы программы должно быть что-то подобное⁚
[‘ 79123456789’, ‘ 79091234567’]
Такой фамилии нет в справочнике․
Я надеюсь, что мой опыт будет полезным для вас при работе с массивами слов и создании телефонного справочника․ Если у вас возникнут вопросы, не стесняйтесь обращаться!