Python for Loops : 파이썬 for문
for loop
planets = ['Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']
for i in planets:
print(i, end=' ') # print all on same line
Mercury Venus Earth Mars Jupiter Saturn Uranus Neptune
for 문의 구조
- variable (변수, i)
- sets (리스트 외, planets) : in 뒤에 오며 보통 리스트, 튜플 등 iterate 할 수 있는 집합체가 온다.
in 을 이용해 둘을 엮는다.
예시) 스트링에서 대문자만 출력하기
s = 'steganograpHy is the practicE of conceaLing a file, message, image, or video within another fiLe, message, image, Or video.'
msg = ''
for char in s:
if char.isupper():
print(char, end='')
HELLO
range() 함수
연속된 숫자(정수)를 리턴한다.
for문과 같이 이용할 때 효과적이다. (range 함수는 iterate 가능한 집합체 이므로 for문과 사용가능)
예시1)인자 1개일때(n), 0부터 n-1까지
happy = list(range(5))
print(happy[i])
[0,1,2,3,4]
예시2)인자 2개(a,b), a부터 b-1까지
happy = list(range(1,5))
print(happy)
[1,2,3,4]
예시3) 인자3개(a,b,c)일때, a부터 b-1까지 c간격으로
happy = list(range(1,5,2))
print(happy)
jolly = list(range(5,1,-2))
print(jolly)
[1,3]
[5,3]
List comprehensions
파이썬에만있는 리스트 구현기능
한줄 안에 조건문, 반복문 등을 사용해서 구성할 수 있다.
squares = [n**2 for n in range(10)]
print(squares)
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
보통 다른 언어에서는…
squares = []
for n in range(10):
squares.append(n**2)
squares
다른예시)
loud_short_planets = [planet.upper() + '!' for planet in planets if len(planet) < 6]
loud_short_planets
['VENUS!', 'EARTH!', 'MARS!']
[출력문(for이전), 집합문(for부터 if전)), 조건문(if이후)]
SQL 문이랑 비슷함.
[
planet.upper() + '!' #SELECT
for planet in planets #FROM
if len(planet) < 6 #WHERE
]