[python] 데이터 검색하기
Python은 데이터 검색 및 처리를 위한 강력한 도구들을 제공합니다. 데이터를 저장한 자료구조에서 원하는 값을 검색하는 방법은 다양하게 존재하며, 주로 리스트, 딕셔너리, 그리고 데이터베이스를 검색할 때 주로 사용됩니다.
1. 리스트에서의 데이터 검색
리스트는 데이터를 순차적으로 저장하는 자료구조입니다. 리스트에서 특정 값 또는 조건을 만족하는 값을 검색하는 방법은 다음과 같습니다.
선형 검색(Linear Search)
def linear_search(arr, target):
for i in range(len(arr)):
if arr[i] == target:
return i
return -1
이진 검색(Binary Search)
def binary_search(arr, target):
low, high = 0, len(arr) - 1
while low <= high:
mid = (low + high) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
low = mid + 1
else:
high = mid - 1
return -1
2. 딕셔너리에서의 데이터 검색
딕셔너리는 키-값 쌍으로 데이터를 저장하는 자료구조이며, 주로 특정 키를 기반으로 값을 검색합니다.
# 특정 키를 가지고 값을 검색
def search_in_dict(data, key):
if key in data:
return data[key]
else:
return None
3. 데이터베이스에서의 데이터 검색
Python에서 데이터베이스를 다루기 위해서는 일반적으로 SQL 또는 ORM(Object-Relational Mapping)을 사용합니다. 여기서는 간단한 SQL을 사용한 예시를 보여드리겠습니다.
import sqlite3
conn = sqlite3.connect('example.db')
cur = conn.cursor()
cur.execute("SELECT * FROM table_name WHERE condition=value")
rows = cur.fetchall()
conn.close()
위의 방법들을 응용하여, Python에서 데이터 검색을 유연하게 다룰 수 있습니다.
참고 자료:
- Python 공식 문서 (https://docs.python.org/3/library/index.html)
- Python 데이터 처리 라이브러리 문서 (https://pandas.pydata.org/docs/)
- W3Schools Python 튜토리얼 (https://www.w3schools.com/python/)