목차
파이썬에서는 for문을 작성할 때, for ~ in ~:과 같은 형태로 적습니다.
for 변수 in 수행할 횟수:
실행할 코드
#변수가 없다면
for _ in 수행할 횟수:
실행할 코드
예시
random_numbers = [random.randint(1, 100) for _ in range(10)]
max_num = random_numbers[0]
min_num = random_numbers[0]
for num in random_numbers:
if num > max_num:
max_num = num
if num < min_num:
min_num = num
print(sorted(random_numbers))
print("Maximum number:", max_num)
print("Minimum number:", min_num)
위 코드는 다음과 같은 작업을 수행합니다
- random_numbers 변수에 1에서 100 사이의 랜덤한 정수 10개를 생성하여 리스트로 저장합니다.
- max_num과 min_num 변수를 리스트의 첫 번째 원소로 초기화합니다.
- for 루프를 사용하여 random_numbers 리스트의 모든 원소를 반복하면서, 각 원소가 현재의 최대값 또는 최소값보다 크거나 작은 경우 해당 값을 max_num 또는 min_num으로 업데이트합니다. (여기선 반복 횟수가 리스트에 들어있는 값들의 갯수로 볼 수 있습니다.)
- sorted() 함수를 사용하여 random_numbers 리스트를 오름차순으로 정렬합니다.
- 최대값과 최소값을 출력합니다.
즉, 이 코드는 1에서 100 사이의 랜덤한 정수 10개를 생성하고, 이 중에서 최대값과 최소값을 찾아서 출력합니다. 또한, 생성된 숫자들을 오름차순으로 정렬하여 출력합니다. 이 코드를 실행하면 매번 다른 10개의 랜덤한 숫자가 생성되므로, 출력 결과는 실행할 때마다 다를 수 있습니다.
수행할 횟수 관련
편의를 위해 수행할 횟수로 적었는데 여러군데를 찾아보니 정확히는 sequence가 들어와야 한다고 합니다.
'int' object is not iterable라고 나오는데 여기서 iterable은 반복할 수 있는이라는 의미입니다.
즉, sequence 자리에는 단순한 숫자가 아닌 반복할 수 있는 구간으로 표현이 되어야 합니다.
1️⃣ range() 함수
range() 함수는 정수 범위를 생성하는 함수입니다. range() 함수를 사용하면 for 루프에서 정해진 범위만큼 반복할 수 있습니다.
range() 함수는 아래와 같은 방식으로 사용할 수 있습니다.
#끝값
range(2)
#output: range(0, 2)
list(range(2))
#output: [0, 1]
#시작값, 끝값
range(10,20)
#output: range(10, 20)
list(range(10,20))
#output: [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
#시작값, 끝값, 간격
range(10,30,2)
#output: range(10, 20, 2)
list(range(10,30,2))
#output: [10, 12, 14, 16, 18, 20, 22, 24, 26, 28]
range 함수에서 마지막 값은 끝값 -1의 값으로 보면 됩니다.
2️⃣ enumerate() 함수
enumerate() 함수는 시퀀스 자료형의 각 요소에 대해 인덱스와 값을 함께 반환하는 함수입니다. enumerate() 함수를 사용하면 for 루프에서 인덱스와 값을 동시에 사용할 수 있습니다. enumerate() 함수는 다음과 같이 사용합니다.
my_list = ["apple", "banana", "orange", "strawberry", 'blueberry','lemon']
for i, value in enumerate(my_list):
print(i, value)
if문으로 중간에 for문 강제 종료하기(break 사용)
my_list = ["apple", "banana", "orange", "strawberry", 'blueberry','lemon']
for i, value in enumerate(my_list):
if value == "strawberry":
print(f"{i+1}번째에서 {value}가 나와서 for문을 종료합니다!")
break
print(i+1, value)
value 값을 갖고 조건을 확인해서 코드를 실행하고 싶을 때 유용합니다.
3️⃣ zip() 함수
zip() 함수는 두 개 이상의 시퀀스를 묶어서 함께 처리할 수 있는 함수입니다. zip() 함수는 다음과 같이 사용합니다.
lst = []
list1 = ["서울","부산","대구"]
list2 = ["apple", "banana", "orange"]
for location, fruit in zip(list1, list2):
lst.append([location,fruit])
print(lst)
zip 함수는 2개 이상의 리스트를 함께 묶어서 처리하고 싶을 때, 사용하면 좋습니다. 위 예시처럼 반복문을 돌면서 2개의 리스트를 하나의 리스트로 합쳐줄 수도 있습니다.
'파이썬 > 알고리즘' 카테고리의 다른 글
while문 정리, 업다운 게임[파이썬 독학] (0) | 2023.03.19 |
---|---|
중앙값 구하기, 재귀 함수[파이썬 독학] (0) | 2023.03.19 |
알고리즘이란, int함수[파이썬 독학] (0) | 2023.03.19 |
댓글