본문 바로가기
코딩자료/파이썬기초

제목: 독학 파이썬 정복 11 ( for 루프 2 )

by NanDA arhat 발행일자: 2024. 5. 25.

openIPC.kr

파이썬 for 루프문

파이썬(Python) 자료 구조

배열(Array), 큐(Queue), 스택(Stack), 그래프(Graph)

 

  • 파이썬 (Python) 배열(Array):
    배열은 동일한 유형의 데이터 요소가 연속적으로 저장된 데이터 구조입니다. 파이썬 (Python)  에서는 리스트가 배열과 유사한 역할을 하지만, 배열은 주로 특정 라이브러리(numpy 등)를 사용하여 다차원 배열로 구현됩니다. 배열은 메모리 상에 연속된 공간에 요소를 저장하기 때문에 인덱스를 통한 빠른 접근이 가능합니다.

 

  • 파이썬 (Python) 큐(Queue):
    큐는 FIFO(First-In, First-Out) 방식으로 요소를 저장하고 처리하는 데이터 구조입니다. 파이썬 (Python)  에서는 queue 모듈을 사용하여 큐를 구현할 수 있습니다. 큐는 주로 데이터의 순서를 유지해야 하는 경우에 사용되며, 대기열 관리, 이벤트 처리 등에 활용됩니다.

 

  • 파이썬 (Python) 스택(Stack):
    스택은 LIFO(Last-In, First-Out) 방식으로 요소를 저장하고 처리하는 데이터 구조입니다. 파이썬에서는 리스트를 사용하여 스택을 구현할 수 있습니다. 스택은 주로 재귀적인 알고리즘, 역추적(backtracking), 깊이 우선 탐색(DFS) 등에 사용됩니다.

 

  • 파이썬 (Python) 그래프(Graph):
    그래프는 정점(vertex)과 간선(edge)으로 이루어진 네트워크를 표현하는 데이터 구조입니다. 파이썬 (Python)  에서는 networkx와 같은 라이브러리를 사용하여 그래프를 생성하고 조작할 수 있습니다. 그래프는 네트워크 분석, 경로 탐색, 연결성 분석 등 다양한 문제에 활용됩니다.

 

  • 파이썬 (Python) 트리(Tree):
    트리는 계층적인 구조를 갖는 데이터 구조로, 루트 노드(root node), 부모 노드(parent node), 자식 노드(child node) 등의 개념을 포함합니다.파이썬 (Python)  에서는 이진 트리, 이진 탐색 트리 등 다양한 종류의 트리를 구현할 수 있습니다. 트리는 데이터의 계층 구조를 표현하고, 탐색 알고리즘에서 사용됩니다.

 

파이썬(Python)  for 루프문

 

예시

# 배열(Array)의 for 루프
my_array = [1, 2, 3, 4, 5]  # 배열 생성

print("Array:")
for num in my_array:  # 배열을 반복하며 각 요소에 접근
    print(num)  # 현재 요소를 출력

# 출력 결과:
# Array:
# 1
# 2
# 3
# 4
# 5

# 큐(Queue)의 for 루프
from queue import Queue  # Queue 모듈 임포트

my_queue = Queue()  # 큐 생성
my_queue.put(1)
my_queue.put(2)
my_queue.put(3)

print("\nQueue:")
for _ in range(my_queue.qsize()):  # 큐의 크기만큼 반복
    print(my_queue.get())  # 큐에서 요소를 추출하여 출력

# 출력 결과:
# Queue:
# 1
# 2
# 3


# 스택(Stack)의 for 루프
my_stack = [1, 2, 3, 4, 5]  # 스택 생성

print("\nStack:")
for item in reversed(my_stack):  # 스택의 요소를 역순으로 반복
    print(item)  # 현재 요소를 출력

# 출력 결과:
# Stack:
# 5
# 4
# 3
# 2
# 1


# 그래프(Graph)의 for 루프
import networkx as nx  # networkx 라이브러리 임포트

my_graph = nx.Graph()  # 그래프 생성
my_graph.add_edges_from([(1, 2), (2, 3), (3, 4)])  # 간선 추가

print("\nGraph:")
for node in my_graph.nodes():  # 그래프의 노드를 반복하며 각 노드에 접근
    print(node)  # 현재 노드를 출력

# 출력 결과:
# Graph:
# 1
# 2
# 3
# 4

# 트리(Tree)의 for 루프
my_tree = {'A': ['B', 'C'], 'B': ['D', 'E'], 'C': ['F']}  # 트리 생성

print("\nTree:")
for node in my_tree:  # 트리의 노드를 반복하며 각 노드에 접근
    print(node)  # 현재 노드를 출력

# 출력 결과:
# Tree:
# A
# B
# C

 

 

 

OpenIPC

TOP

Designed by Arhat 광고는 자동으로 생성되며, 크리에이터의 수익 창출에 도움이 될 수 있습니다.