Поиск контактов в Python с примерами кода

Для поиска контактов в Python существует несколько методов в зависимости от структуры данных, которую вы используете для хранения контактов. Вот несколько распространенных методов с примерами кода:

Метод 1: Список словарей
В этом методе вы можете сохранить каждый контакт в виде словаря в списке. Вы можете искать контакты, перебирая список и сравнивая нужные атрибуты каждого контакта.

contacts = [
    {"name": "John Doe", "email": "john@example.com", "phone": "1234567890"},
    {"name": "Jane Smith", "email": "jane@example.com", "phone": "9876543210"},
    # Add more contacts here
]
def search_contacts_by_name(name):
    result = []
    for contact in contacts:
        if contact["name"].lower() == name.lower():
            result.append(contact)
    return result
# Example usage:
search_results = search_contacts_by_name("John Doe")
for contact in search_results:
    print(contact)

Метод 2: словарь
Если у вас большое количество контактов и вам требуется более высокая производительность поиска, вы можете использовать словарь, в котором ключами являются имена, а значениями – сведения о контактах.

contacts = {
    "John Doe": {"email": "john@example.com", "phone": "1234567890"},
    "Jane Smith": {"email": "jane@example.com", "phone": "9876543210"},
    # Add more contacts here
}
def search_contacts_by_name(name):
    return contacts.get(name)
# Example usage:
search_result = search_contacts_by_name("John Doe")
if search_result:
    print(search_result)

Метод 3: объектно-ориентированный подход.
Если вы хотите иметь больший контроль над данными контакта и выполнять сложные операции, вы можете создать класс Contact для представления каждого контакта и реализации функций поиска внутри класса.

Метод 3: объектно-ориентированный подход.
Если вы хотите иметь больший контроль над данными контакта и выполнять сложные операции, вы можете создать класс Contact для представления каждого контакта и реализовать функции поиска внутри класса.

Метод 3: объектно-ориентированный подход. >

class Contact:
    def __init__(self, name, email, phone):
        self.name = name
        self.email = email
        self.phone = phone
contacts = [
    Contact("John Doe", "john@example.com", "1234567890"),
    Contact("Jane Smith", "jane@example.com", "9876543210"),
    # Add more contacts here
]
def search_contacts_by_name(name):
    result = []
    for contact in contacts:
        if contact.name.lower() == name.lower():
            result.append(contact)
    return result
# Example usage:
search_results = search_contacts_by_name("John Doe")
for contact in search_results:
    print(contact.name, contact.email, contact.phone)

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