๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
study๐Ÿ“š/python

[python/ํŒŒ์ด์ฌ] - ์ œ์–ด๋ฌธ(for, while, if), List Comprehension, ์™ธ๋ถ€๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ

by ์Šค๋‹ 2022. 7. 21.

์ œ์–ด๋ฌธ

1) ๋ฐ˜๋ณต๋ฌธ

for

for๋ฅผ ์ด์šฉํ•œ ๋ฐ˜๋ณต๋ฌธ

for ๋ณ€์ˆ˜ in ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด:
    ๋ฐ˜๋ณตํ•˜์—ฌ ์‹คํ–‰ํ•  ๋‚ด์šฉ
  • ์—ฌ๊ธฐ์„œ ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒƒ๋“ค์„ ๋œปํ•จ
    • list
    • range

-๋ฌธ์ œ : 1๋ถ€ํ„ฐ 10๊นŒ์ง€ ์ถœ๋ ฅ

-   list๋ฅผ ์ด์šฉํ•œ
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for i in a: print(a)

1
2
3
4
5
6
7
8
9
10

-   range๋ฅผ ์ด์šฉํ•œ
for i in range(11):
    print(i)

0
1
2
3
4
5
6
7
8
9

-๋ฌธ์ œ : 1๋ถ€ํ„ฐ 9๊นŒ์ง€ 2์”ฉ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ ์ถœ๋ ฅ

for i in range(1, 10, 2):  
print(i)

1
3
5
7
9

-๋ฌธ์ œ : 9๋ถ€ํ„ฐ 1๊นŒ์ง€ 2์”ฉ ๊ฐ์†Œํ•˜๋ฉด์„œ ์ถœ๋ ฅ

for i in range(9, 0, -2)  
print(i)

9
7
5
3
1

-๋ฌธ์ œ : 1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ์ž์—ฐ์ˆ˜์˜ ํ•ฉ

sum = 0  
for i in range(1, 11, 1):  
sum = sum + i  
print(sum)

55

or


sum = 0  
for i in range(1, 11, 1):  
sum += i  
print(sum)

55

-๋ฌธ์ œ : ๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅํ•˜๊ธฐ


for i in range(2, 10, 1):  
for i in range(1, 10, 1):  
print(i \* i)

1
4
9
16
25
36
49
64
81
1
4
9
16
25
36
49
64
81
1
4
9
16
25
36
49
64
81
1
4
9
16
25
36
49
64
81
1
4
9
16
25
36
49
64
81
1
4
9
16
25
36
49
64
81
1
4
9
16
25
36
49
64
81
1
4
9
16
25
36
49
64
81

์ด ๊ฒฝ์šฐ์—๋Š” 2๋ฒˆ์งธ ์ค„ for๋ฌธ์œผ๋กœ ๋ฐ˜๋ณตํ•ด์„œ ๊ณ„์‚ฐ๋˜์–ด ๋‚˜์˜ค๊ณ  ์ด ๊ฒฐ๊ณผ๋ฌผ์ด ์ฒซ๋ฒˆ์งธ for๋ฌธ์„ ๋ฐ˜๋ณตํ•ด์„œ 8๋ฒˆ
๋‚˜์˜ค๊ฒŒ ํ•˜๋Š” ๊ฒฝ์šฐ


for i in range(2, 10, 1):  
for j in range(1, 10, 1):  
print(i \* j)

2
4
6
8
10
12
14
16
18
3
6
9
12
15
18
21
24
27
4
8
12
16
20
24
28
32
36
5
10
15
20
25
30
35
40
45
6
12
18
24
30
36
42
48
54
7
14
21
28
35
42
49
56
63
8
16
24
32
40
48
56
64
72
9
18
27
36
45
54
63
72
81

while

while์„ ์ด์šฉํ•œ ๋ฐ˜๋ณต๋ฌธ


while ์กฐ๊ฑด:  
๋ฐ˜๋ณตํ•˜์—ฌ ์‹คํ–‰ํ•  ๋‚ด์šฉ

-๋ฌธ์ œ : 1๋ถ€ํ„ฐ 10๊นŒ์ง€ ์ถœ๋ ฅ


i = 1  
while i < 11:  
print(i)  
i = i + 1

1
2
3
4
5
6
7
8
9
10

-๋ฌธ์ œ : 1๋ถ€ํ„ฐ 9๊นŒ์ง€ 2์”ฉ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ ์ถœ๋ ฅ


i = 1  
while i < 10  
print(i)  
i += 2

1
3
5
7
9

-๋ฌธ์ œ : 1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ์ž์—ฐ์ˆ˜์˜ ํ•ฉ


i = 1  
sum = 0  
while i < 11  
sum += i  
i += 1  
print(sum)

55


i = 2  
while i < 10:  
i += 1


j = 1  
while j < 10:  
print(i \* j)  
j += 1

3
6
9
12
15
18
21
24
27
4
8
12
16
20
24
28
32
36
5
10
15
20
25
30
35
40
45
6
12
18
24
30
36
42
48
54
7
14
21
28
35
42
49
56
63
8
16
24
32
40
48
56
64
72
9
18
27
36
45
54
63
72
81
10
20
30
40
50
60
70
80
90


i = 2  
while i < 10:

j = 1  
while j < 10:  
print(i \* j)  
j += 1

i += 1

2
4
6
8
10
12
14
16
18
3
6
9
12
15
18
21
24
27
4
8
12
16
20
24
28
32
36
5
10
15
20
25
30
35
40
45
6
12
18
24
30
36
42
48
54
7
14
21
28
35
42
49
56
63
8
16
24
32
40
48
56
64
72
9
18
27
36
45
54
63
72
81

2๊ฐœ์˜ ์กฐ๊ฑด๋ฌธ์˜ ์ฐจ์ด์ ์€ ๋งˆ์ง€๋ง‰ i์˜ ์œ„์น˜! ์ด ํ•˜๋‚˜๋กœ ๊ฒฐ๊ณผ๊ฐ’์ด ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜ํ•ด์„œ ๋ฐ˜๋ณต๋ฌธ์„ ๋งŒ๋“ค์–ด์•ผํ•จ

2) ์กฐ๊ฑด๋ฌธ

if

if๋ฌธ ์ž‘์„ฑ๋ฒ•


if ์กฐ๊ฑด1:  
์กฐ๊ฑด1์ด ์ฐธ ์ผ๋•Œ์˜ ์‹คํ–‰๋ฌธ  
elif ์กฐ๊ฑด2:  
์กฐ๊ฑด2๊ฐ€ ์ฐธ ์ผ๋•Œ์˜ ์‹คํ–‰๋ฌธ  
else:  
์‹คํ–‰๋ฌธ

-๋ฌธ์ œ : x๊ฐ€ 5๋ณด๋‹ค ํฌ๋ฉด True๋ฅผ ์ถœ๋ ฅTrue

x = 6
if x > 5:
    print('True')

True

-๋ฌธ์ œ : x๊ฐ€ 5๋ณด๋‹ค ํฌ๋ฉด True, ์•„๋‹ˆ๋ฉด False๋ฅผ ์ถœ๋ ฅ

x = 4
if x > 5:  
print('True')  
else:  
print('False')

False

-๋ฌธ์ œ : x๊ฐ€ 5๋ณด๋‹ค ์ž‘์œผ๋ฉด '5 ๋ฏธ๋งŒ' 5์ด๋ฉด '5', ๋‚˜๋จธ์ง€๋Š” '5 ์ด์ƒ'์ด๋ผ๊ณ  ์ถœ๋ ฅ

x = 4
if x < 5:  
print('5 ๋ฏธ๋งŒ')  
elif x == 5:  
print('5')  
else:  
print('5 ์ด์ƒ')

5 ๋ฏธ๋งŒ

-๋ฌธ์ œ : ์ ์ˆ˜(x)๊ฐ€ 90์  ์ด์ƒ์ด๋ฉด 'A', 80์  ์ด์ƒ์ด๋ฉด 'B', 70์  ์ด์ƒ์ด๋ฉด 'C', 60์  ์ด์ƒ์ด๋ฉด 'D', ๋‚˜๋จธ์ง€๋Š” 'F' ๋กœ ์ถœ๋ ฅ


x = 95

if x >= 90:  
print('A')  
elif x >= 80:  
print('B')  
elif x >= 70:  
print('C')  
elif x >= 60:  
print('D')  
else:  
print('F')

A

-๋ฌธ์ œ : A ๋ฆฌ์ŠคํŠธ์—๋Š” 1๋ฐ˜ ํ•™์ƒ๋“ค์˜ ์ˆ˜ํ•™ ์ ์ˆ˜๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋‹ค. ์ ์ˆ˜๊ฐ€ 90์  ์ด์ƒ์ด๋ฉด 'A', 80์  ์ด์ƒ์ด๋ฉด 'B', 70์  ์ด์ƒ์ด๋ฉด 'C', 60์  ์ด์ƒ์ด๋ฉด 'D', ๋‚˜๋จธ์ง€๋Š” 'F' ๋กœ ์ถœ๋ ฅ


A = \[80, 95, 70, 55, 63\]

for i in A:  
if i >= 90:  
print(i, 'A')  
elif i >= 80:  
print(i, 'B')  
elif i >= 70:  
print(i, 'C')  
elif i >= 60:  
print(i, 'D')  
else:  
print(i, 'F')

80 B
95 A
70 C
55 F
63 D

List Comprehension

-๋ณ€์ˆ˜ a์— 1๋ถ€ํ„ฐ 10๊นŒ์ง€ ์‚ฝ์ž…


a = \[\]  
for i in range(1, 11, 1):  
a.append(i)  
print(a)

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


a = \[i for i in range(1, 11, 1)\]  
print(a)

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

-๋ณ€์ˆ˜ a์— 1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ์ œ๊ณฑ์˜ ๊ฐ’์„ ์‚ฝ์ž…


a = \[\]  
for i in range(1, 11, 1):  
a.append(i \*\* 2)  
print(a)

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]


a = \[i \*\* 2 for i in range(1, 11, 1)\]  
print(a)

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

-๋ณ€์ˆ˜ a ์—๋Š” A ๋ฐ˜์˜ ์ˆ˜ํ•™์ ์ˆ˜๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋‹ค. ์ด ์ค‘ 80์  ์ด์ƒ์˜ ์ ์ˆ˜๋งŒ ๊ฑธ๋Ÿฌ๋‚ด์–ด๋ผ.


a = \[90, 39, 48, 70, 82, 100\]

result = \[i for i in a\]  
print(result)

[90, 39, 48, 70, 82, 100]


result = \[i for i in a if i >= 80\]  
print(result)

[90, 82, 100]

ํ•จ์ˆ˜

-ํ•จ์ˆ˜์˜ ์˜ˆ


print(1)

1


type(1)

int

-ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ์ด์œ 


a = 1  
b = a \* 100  
b = b \*\* 2  
c = b + 2 \* a

๋˜‘๊ฐ™์€ ์ž‘์—…์„ ์—ฌ๋Ÿฌ๋ฒˆ ๋ฐ˜๋ณตํ•ด์•ผ ํ•œ๋‹ค๋ฉด?

-์ƒ์„ฑ๋ฐฉ๋ฒ•


def ํ•จ์ˆ˜๋ช…(์ธํ’‹ ๊ฐ’):  
์‹คํ–‰ ๋‚ด์šฉ

-x ๋ฅผ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ๋„ฃ์œผ๋ฉด x + 1 ์„ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜ ์ƒ์„ฑ


def function1(x):  
print(x + 1)

function(1)

2

-x ๋ฅผ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ๋„ฃ์œผ๋ฉด x + 1 ์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜ ์ƒ์„ฑ

def function2(x):  
result = x + 1  
return result
a = function2(1)  
print(a)

2

-x ๋ฅผ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ๋„ฃ์œผ๋ฉด x + 1, x + 2 ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜ ์ƒ์„ฑ

def function3(x):  
result1 = x + 1  
result2 = x + 2  
return result1, result2
a, b = function3(1)  
print(a)  
print(b)

2
3

-์—ฌ๋Ÿฌ๊ฐœ์˜ ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›๊ณ  ์‹ถ์„ ๋•Œ

-์—ฌ๋Ÿฌ๊ฐœ์˜ ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›์•„ ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅ

def function4(x):  
for i in x:  
print(i)
a = \[1, 3, 5, 7, 4, 'd', 2, 60\]  
function4(a)

1
3
5
7
4
d
2
60

-args๋ฅผ ์ด์šฉํ•œ ๊ตฌํ˜„


def function5(\*args):  
for i in args:  
print(i)

function5(1, 3, 5, 7, 4, 'd', 2, 60)

1
3
5
7
4
d
2
60

์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ

  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‹ค์šด๋กœ๋“œ

!pip install pandas

Requirement already satisfied: pandas in /usr/local/lib/python3.7/dist-packages (1.1.5)
Requirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.7/dist-packages (from pandas) (2.8.1)
Requirement already satisfied: numpy>=1.15.4 in /usr/local/lib/python3.7/dist-packages (from pandas) (1.19.5)
Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.7/dist-packages (from pandas) (2018.9)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.7.3->pandas) (1.15.0)

  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

import pandas

pandas.DataFrame({'a' : [1, 2, 3], 'b' : [4, 5, 6]})



-   ์•ฝ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

import pandas as pd

pd.DataFrame({'a' : [1, 2, 3], 'b' : [4, 5, 6]})



-   ๋ชจ๋“ˆ ์ง€์šฐ๊ธฐ

del pd

pd.DataFrame({'a' : [1, 2, 3], 'b' : [4, 5, 6]})

```


for๋ฌธ ์–ด๋””์„œ ๋“ค์—ฌ์“ฐ๊ธฐ๋ฅผ ํ•˜๋А๋ƒ์— ๋”ฐ๋ผ์„œ ๊ฒฐ๊ณผ๊ฐ’์ด ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ ์กฐ์‹ฌ!!

(์ฒ˜์Œ ๋ฐฐ์šธ๋•Œ๋„ ํ—ท๊ฐˆ๋ ค์„œ ๊ณ ์ƒํ–ˆ๊ธฐ๋•Œ๋ฌธ์— ์ด๋ฒˆ์—๋Š” ๋” ํ™•์‹คํžˆ ์•Œ๊ณ  ๋„˜์–ด๊ฐ€์ž!)

๋Œ“๊ธ€