안녕하세요!
이번 글에서는 파이썬의 리스트를 for문에서 활용하는 방법에 대해서
알아보려고 합니다.
1) 모든 값에 순차적으로 접근 (일반적인 사용):
2) zip()활용하여 리스트 여러개 접근
3) 모든 값에 순차적으로 접근 enumerate(iterable,start=0) 인덱스도 가져오기:
4) 리스트 컴프리핸션 list comprehension:
순서로 알아보겠습니다.
1) 모든 값에 순차적으로 접근 (일반적인 사용):
mylist = ['a', 'b', 'c', 'd', 'e', 'f']
# for 루프를 사용하여 리스트의 요소를 순차적으로 접근
for alphabet in mylist:
print(alphabet)
# a
# b
# c
# d
# e
# f
mylist에서 하나씩 순차적으로 가져와서 alphabet에 넣고 원하는 문장을 실행하는 statement입니다.
2) zip()활용하여 리스트 여러개 접근
dayofweek = ["월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"]
menu_list = ["제육볶음","짜장면","짬뽕","볶음밥","김치찌개"]
for day,menu in zip(dayofweek,menu_list):
print(f'오늘은 {day}이니까 {menu} 먹어야지')
# 오늘은 월요일이니까 제육볶음 먹어야지
# 오늘은 화요일이니까 짜장면 먹어야지
# 오늘은 수요일이니까 짬뽕 먹어야지
# 오늘은 목요일이니까 볶음밥 먹어야지
# 오늘은 금요일이니까 김치찌개 먹어야지
for NAME1,NAME2,NAME3 in zip(사용할 리스트1,사용할 리스트2,사용할 리스트3):
형식으로 사용합니다.
제일 짧은 리스트 기준으로 Stopiteration 발생하면 loop를 종료합니다.
3) 모든 값에 순차적으로 접근 enumerate(iterable,start=0) 인덱스도 가져오기:
mylist = ['a', 'b', 'c', 'd', 'e', 'f']
# for 루프를 사용하여 리스트의 요소를 순차적으로 접근
for index,alphabet in enumerate(mylist, start=0):
print(index, alphabet)
# 0 a
# 1 b
# 2 c
# 3 d
# 4 e
# 5 f
for index, alphabet in zip(range(0,len(mylist)),mylist) 이런 식으로 만들어도 되지만
enumerate()를 활용하는 것이 더 가독성이 있습니다.
start = num 은 임의의 숫자로 지정할 수 있습니다.
4) 리스트 컴프리핸션 list comprehension:
# [x for x in iterable if 조건(x)]
squared = [num ** 2 for num in range(1,11)]
print(squared) # 출력 결과: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
squared= [num ** 2 for num in range(1,11) if num % 2 == 0] # True인 것 리턴 짝수 리턴
print(squared) # [4, 16, 36, 64, 100]
variable_name = [x for x in iterable if 조건(x)]
iterable한 객체에서 순사적으로 x에 가져와서 조건에서 거른후 담아서 variable_name로 리스트를 리턴합니다
리스트 컴프리핸션을 사용하면 빠르게 리스트를 생성할 수 있습니다.
정리)
1) 모든 값에 순차적으로 접근 (일반적인 사용):
for name1 in list:
문장
형식으로 사용한다.
2) zip()활용하여 리스트 여러개 접근
for name1,name2 in zip(list1,list2):
문장
형식으로 사용한다.
제일 요소가 적은 리스트가 StopIteration 발생되면 종료한다
3) 모든 값에 순차적으로 접근 enumerate(iterable,start=0) 인덱스도 가져오기:
for index,name1 in enumerate(list1,start=0):
문장
형식으로 사용한다.
start 임의로 지정가능하다.
기본값 0부터 시작한다.
4) 리스트 컴프리핸션 list comprehension:
variable_name = [x for x in iterable if 조건] 형식으로 사용하며
리스트를 한문장으로 생성가능하다.
마치면서)
파이썬 공식 문서에서 Looping Techniques로 예제를 찾아보시면 더욱 자세한 정보를 얻을 수 있습니다.
다음 글에서도 유용한 파이썬 팁과 기능을 소개하도록 하겠습니다
감사합니다.
'파이썬 > 사용법' 카테고리의 다른 글
[python] 파이썬 예외처리 (Exception Handling) (0) | 2023.07.25 |
---|---|
[python] 파이썬 모듈의 사용 (0) | 2023.07.24 |
[python] 딕셔너리 자료형 for 문에서의 활용 (0) | 2023.07.23 |
[python] 파이썬 자료형 딕셔너리 요소 삭제 (0) | 2023.07.22 |
[python] 파이썬 딕셔너리 생성(초기화) (0) | 2023.07.22 |