Programming/Python

[python] f-string / range() / for문 - enum, zip

Nobb 2025. 9. 5. 13:26
  1. f-string
  2. range()
  3. for 문
    - enumerate
    - zip
  4. 튜플 vs 리스트

 

## f-string

 : 문자열 안에 {변수} 넣어서 출력 가능한 제일 간편한 "문자열 포맷 방식"

        ** str과 in 를 그냥 + 로 연결하면 에러남

name= "Lemon"
age = 2
print(f"My name is {name}, and I'm {age} years old.")

 

 

## range()

 : 연속된 숫자들 시퀀스 생성해줌

  - 반복 작업 수행 시 매우 유용 (반복문 사용시)

range(5)	# 0~4

range(0,10)	# 0~9

range(1,11,2)	# 1,3,5,7,9,11 (2 간격)

 

 

## for 문 (파이썬)

 

* 기본

## 기본 반복 ===========
for i in range(n):	#i ~ n-1
	....

## 1~n 반복 ===========
for i in range(1, n+1):
	....

## 거꾸로 반복 ===========
for i in range(n, 0, -1):
	....

## 좌표,격자 탐색	"2중 for문" ===========
for i in range(n):
	for j in range(m):
    	....

 

* 문자열

## 문자열 ===========
s = "Hello"
for c in s:
	print(c)

 

* 리스트

## 리스트 순회 ===========
arr = [10, 20, 30]
for x in arr:
	print(x)

## 정리된 순서대로 순회 ===========
arr = [3,1,4,2,5]

for x in sorted(arr):	#오름차순
	print(x)	#1 2 3 4 5
    
for x in sorted(arr, reverse=True):	#내림차순
	print(x)	#5 4 3 2 1

 

==enumerate

        : 반복 가능한 객체 돌면서 [ index + 값 ] 동시에 꺼내줌

for index, val in enumerate(arr):
	print(index, val)
    
# ex. ===========
arr = ["a", "b", "c"]

for i, val in enumerate(arr):
    print(i, val)

# >> 0 a / 1 b / 2 c

 

==zip

     : 여러 개의 iterable 묶어서 같은 위치의 요소들을 튜플로 묶어줌   (길이 다를 경우 긴 부분 짤림)

        * iterable : 반복 객체 

            - list, 튜플, 딕셔너리, 문자열, 세트, range() 등

# 기본 구조
zip (iter1, iter2, ...)

# ex ====
a = [1,2,3]
b = ["one", "two", "three"]

for x,y in zip(a,b)
	print(x,y)		# 1 one / 2 two / 3 three