Для поиска контактов в 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. Выбор метода будет зависеть от конкретных требований вашего проекта.