리스트 이름 = [표현식 for 반복자 in 반복할 수 있는 것
"range(0, 20, 2)의 요소를 i라고 할 때 ii로 리스트를 재조합해 주세요"
#리스트를 선언한다
array = [i*i for i in range(0, 29, 2)]
#출력한다
print(array)
#예제1
A = []
for i in range(0, 10):
A.append(2 * i + 1)
print(A)
->
A = [2 * i + 1 in range(0, 10)]
print(A)
#예제1-2
A = [
2 * 1 + 1 #표현식
for i in range(0, 10) #반복문
if i % 2 == 0 #조건문
]
#예제2
달러 = [155.43, 302.71, 77.46, 131.28]
원화 = [dollar * 1399 for dollar in 달러]
print(원화)
반복가능한 것을 기반으로 새로운 리스트를 만들어내는 문법
리스트 이름 = [표현식 for 반복자 in 반복할 수 있는 것 if 조건문]
"array의 요소를 fruit이라고 할 때 초콜릿이 아닌 fruit으로 리스트를 재조합해 주세요"
-> 초콜릿을 제외한 요소만 모인 리스트를 만들어 준다.
#리스트를 선언한다
array=["사과", "자두". "초콜릿". "바나나". "체리"]
output = [fruit for fruit in array if fruit != "초콜릿"]
#출력한다
print(output)
>>'사과', '자두', '초콜릿', '바나나', '체리'
반복문
for 반복자 in 반복할 수 있는 것
반복할 수 있는 것 = iterable 이터러블
이터러블은 내부에 있는 요소들을 차례차례 꺼낼 수 있는 객체를 의미한다.
리스트, 딕셔너리, 문자열 튜플등은 모두 내부에서 요소를 차례차례 꺼낼 수 있으므로 이터러블이다.
이터러블 중에서 next() 함수를 적용해 하나하나 꺼낼 수 있는 요소를 iterator 이터레이터라고 한다.
리스트의 요소를 반복할 때 현재 인덱스가 몇 번째인지 확인해야 하는 경우에 사용한다.
앞서 살펴본 함수는 함수를 선언할 떄의 매개변수와 함수를 호출할 때의 매개변수가 같아야 했다.
적어도 안 되고, 많아도 안 된다.
def print_n_times(value, n): #-> 매개변수 2개 지정했는데
for i in range(n):
print(value)
print_n_times("안녕하세요") #-> 하나만 넣었다
그러나 print()함수는 매개변수를 원하는 만큼 입력할 수 있다.
print() 함수와 같이 매개변수를 원하는 만큼 받을 수 있는 함수를 가변 매개변수라고 부른다.
매개변수가 변할 수 있다.
def 함수 이름(매개변수, 매개변수, … , *가변 매개변수): 문장
가변 매개변수 뒤에는 일반 매개변수가 올 수 없다.
가변 매개변수는 하나만 사용 가능
def print_n_times(n, *values):
#n번 반복합니다.
for i in range(n):
#values는 리스트처럼 활용합니다.
for value in values:
print(value)
#단순한 줄바꿈
print()
#함수를 호출합니다.
print_n_times(3, "안녕하세요", "즐거운", "파이썬 프로그래밍")
>> 안녕하세요
즐거운
파이썬 프로그래밍
함수 내부에서는 return이라는 키워드 사용할 수 있다.
이 키워드는 함수를 실행했던 위치로 돌아가라는 뜻으로, 함수가 끝나는 위치를 의미한다