๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ‘ฉ‍๐Ÿ’ป Learn programming/Python

[Python] ํŒŒ์ด์ฌ ๋ฐ˜๋ณต๋ฌธ / ํ•™์Šต๋‚ด์šฉ ์ •๋ฆฌ

๐Ÿฑ ๋ฆฌ์ŠคํŠธ

 

1. ๋ฆฌ์ŠคํŠธ

โœ… ๋ฆฌ์ŠคํŠธ(list) = ๋ชฉ๋ก, ์ธ๋ฑ์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ.

โœ… ๋Œ€๊ด„ํ˜ธ [ ] ์•ˆ์— ๋„ฃ๋Š” ์ž๋ฃŒ๋ฅผ ์š”์†Œ(element)

โœ… ๋Œ€๊ด„ํ˜ธ [ ] ์•ˆ์— ๋“ค์–ด๊ฐ„ ์ˆซ์ž๋ฅผ ์ธ๋ฑ์Šค(index)

โœ… ํ˜•์‹์€ [์š”์†Œ, ์š”์†Œ, ์š”์†Œ...]

โœ… ์ผ๋ถ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ๋ฆฌ์ŠคํŠธ์— ํ•œ ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ธฐ๋„ ํ•˜์ง€๋งŒ, ํŒŒ์ด์ฌ์€ ์—ฌ๋Ÿฌ ์ž๋ฃŒํ˜•์„ ์„ž์–ด์„œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ

list_a = [123, 56, , 89, '๋ฌธ์ž์—ด', True, False]
์ธ๋ฑ์Šค [0] [1] [2] [3] [4] [5]
์Œ์ˆ˜ ์ธ๋ฑ์Šค [-6] [-5] [-4] [-3] [-2] [-1]
์š”์†Œ 123 56 89 ๋ฌธ์ž์—ด True False
# ๋ฆฌ์ŠคํŠธ ์‚ฌ์šฉ๋ฒ•
list_a = [123, 56, 89, '๋ฌธ์ž์—ด', True, False]

# ์š”์†Œ ๋ณ€๊ฒฝ
list_a[0] = "๋ณ€๊ฒฝ"
>>> (๊ฒฐ๊ณผ) list_a = ["๋ณ€๊ฒฝ", 56, 89, '๋ฌธ์ž์—ด', True, False]

# ์Œ์ˆ˜ ์ธ๋ฑ์Šค๋กœ ์š”์†Œ ์„ ํƒ
list_a[-1]
>>> False

# ๋ฆฌ์ŠคํŠธ ์Šฌ๋ผ์ด์‹ฑ
list_a[1:3]
>>> [56, 89, '๋ฌธ์ž์—ด']

# ๋ฆฌ์ŠคํŠธ ์ ‘๊ทผ ์—ฐ์‚ฐ์ž ์ด์ค‘์œผ๋กœ ์‚ฌ์šฉ
list_a[3][0]
>>> '๋ฌธ'

# ๋ฆฌ์ŠคํŠธ ์•ˆ์— ๋ฆฌ์ŠคํŠธ ์‚ฌ์šฉ
list_b = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
list_b[1]
>>> [4, 5, 6]
list_b[1][1]
>>> 5

*๏ธโƒฃ IndexError ์˜ˆ์™ธ : ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด๋ฅผ ๋„˜๋Š” ์ธ๋ฑ์Šค๋กœ ์š”์†Œ์— ์ ‘๊ทผํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ์™ธ

 

2. ๋ฆฌ์ŠคํŠธ ์—ฐ์‚ฐ์ž : ์—ฐ๊ฒฐ(+), ๋ฐ˜๋ณต(*), len( )

# ๋ฆฌ์ŠคํŠธ
list_a = [1, 2, 3]
list_b = [4, 5, 6]

# ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž (+)
list_a + list_b = [1, 2, 3, 4, 5, 6]

# ๋ฌธ์ž์—ด ๋ฐ˜๋ณต ์—ฐ์‚ฐ์ž (*)
list_a * 3 = [1, 2, 3, 1, 2, 3, 1, 2, 3]

# ๊ธธ์ด ๊ตฌํ•˜๊ธฐ
len(list_a) = 3

 

3. ๋ฆฌ์ŠคํŠธ์— ์š”์†Œ ์ถ”๊ฐ€ํ•˜๊ธฐ : append, insert

# ๋ฆฌ์ŠคํŠธ์— ์š”์†Œ ํ•˜๋‚˜ ์ถ”๊ฐ€
# 1. ๋ฆฌ์ŠคํŠธ๋ช….append(์š”์†Œ)
# 2. ๋ฆฌ์ŠคํŠธ๋ช….insert(์œ„์น˜, ์š”์†Œ)

list_a = [1, 2, 3]

# ๋ฆฌ์ŠคํŠธ ๋’ค์— ์š”์†Œ ์ถ”๊ฐ€ํ•˜๊ธฐ
list_a.append(4)
>>> [1, 2, 3, 4]

# ๋ฆฌ์ŠคํŠธ ์ค‘๊ฐ„์— ์š”์†Œ ์ถ”๊ฐ€ํ•˜๊ธฐ
list_a.insert(0, 0) 
# 0๋ฒˆ์งธ ์œ„์น˜์— 0์„ ์ถ”๊ฐ€.
>>> [0, 1, 2, 3, 4]


# ๋ฆฌ์ŠคํŠธ์— ํ•œ ๋ฒˆ์— ์—ฌ๋Ÿฌ  ์š”์†Œ ์ถ”๊ฐ€
# ๋ฆฌ์ŠคํŠธ๋ช….extend(์š”์†Œ)

list_a.extend([4, 5, 6])
>>> [1, 2, 3, 4, 5, 6]

 

4. ๋ฆฌ์ŠคํŠธ์— ์š”์†Œ ์ œ๊ฑฐํ•˜๊ธฐ

โœ… ๋ฆฌ์ŠคํŠธ ์ธ๋ฑ์Šค๋กœ ์ œ๊ฑฐ : del, pop

# ๋ฆฌ์ŠคํŠธ ์ธ๋ฑ์Šค๋กœ ์ œ๊ฑฐํ•˜๊ธฐ
# 1. del ๋ฆฌ์ŠคํŠธ๋ช…[์ธ๋ฑ์Šค]
# 2. ๋ฆฌ์ŠคํŠธ๋ช….pop(์ธ๋ฑ์Šค)
list_a = [0, 1, 2, 3, 4, 5]

# ๋ฆฌ์ŠคํŠธ ์š”์†Œ ํ•˜๋‚˜ ์ œ๊ฑฐํ•˜๊ธฐ
del list_a[1]
>>> [0, 2, 3, 4, 5]

list_a.pop(2)
>>> [0, 2, 4, 5]

list_a.pop()
>>> [0, 2, 4]

 

*๏ธโƒฃ pop( ) ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์— ์•„๋ฌด๊ฒƒ๋„ ์ž…๋ ฅํ•˜์ง€ ์•Š์œผ๋ฉด ์ž๋™์œผ๋กœ -1์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์œผ๋กœ ์ทจ๊ธ‰ํ•ด์„œ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•จ.

 

โœ… ๋ฆฌ์ŠคํŠธ ์ธ๋ฑ์Šค๋กœ ์—ฌ๋Ÿฌ ์š”์†Œ ํ•œ๊บผ๋ฒˆ์— ์ œ๊ฑฐ

# ๋ฆฌ์ŠคํŠธ ์š”์†Œ ํ•œ ๋ฒˆ์— ์ œ๊ฑฐํ•˜๊ธฐ
list_b = [0, 1, 2, 3, 4, 5, 6]

del list_b[3:6]
>>> [0, 1, 2, 6]


list_c = [0, 1, 2, 3, 4, 5, 6]

del list_b[:3]
>>> [3, 4, 5, 6]


list_d = [0, 1, 2, 3, 4, 5, 6]

del list_b[3:]
>>> [0, 1, 2]

*๏ธโƒฃ ๋ฆฌ์ŠคํŠธ์—์„œ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•ด ์š”์†Œ๋ฅผ ํ•œ๊บผ๋ฒˆ์— ์ œ๊ฑฐํ•  ๊ฒฝ์šฐ, ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์Œ.

*๏ธโƒฃ [3:6] ์ด๋ฉด 6์„ ํฌํ•จํ•˜์ง€ ์•Š์€ [3], [4] [5]๋ฅผ ์˜๋ฏธํ•จ. 

 

โœ… ๋ฆฌ์ŠคํŠธ ๊ฐ’์œผ๋กœ ์ œ๊ฑฐ : remove

# ๋ฆฌ์ŠคํŠธ ๊ฐ’์œผ๋กœ ์ œ๊ฑฐํ•˜๊ธฐ
# ๋ฆฌ์ŠคํŠธ.remove(๊ฐ’)

list_a = [1, 2, 1, 2]
list_a.remove(2)
>>> [1, 1, 2]

*๏ธโƒฃ remove( ) ํ•จ์ˆ˜๋กœ ์ง€์ •ํ•œ ๊ฐ’์ด ๋ฆฌ์ŠคํŠธ ๋‚ด๋ถ€์— ์—ฌ๋Ÿฌ๊ฐœ ์žˆ์œผ๋ฉด ๊ฐ€์žฅ ๋จผ์ € ๋ฐœ๊ฒฌ๋˜๋Š” ํ•˜๋‚˜๋งŒ ์ œ๊ฑฐ.

*๏ธโƒฃ ๋ฆฌ์ŠคํŠธ์— ์ค‘๋ณต๋œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ’์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€ while ๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉ. 

 

โœ… ๋ฆฌ์ŠคํŠธ ๋ชจ๋‘ ์ œ๊ฑฐ : clear

# ๋ฆฌ์ŠคํŠธ ๋ชจ๋‘ ์ œ๊ฑฐํ•˜๊ธฐ
# ๋ฆฌ์ŠคํŠธ.clear()

list_a = [0, 1, 2, 3, 4, 5]
list_a.clear()
>>> []

*๏ธโƒฃ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ๋‚ด๋ถ€์— ์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์ œ๊ฑฐํ•  ๋•Œ ํ•ญ์ƒ clear๋ฅผ ์‚ฌ์šฉํ•จ. 

*๏ธโƒฃ ๋ฆฌ์ŠคํŠธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋”•์…”๋„ˆ๋ฆฌ ๋“ฑ์—๋„ ํ•ด๋‹นํ•จ. 

 

4. ๋ฆฌ์ŠคํŠธ ๋‚ด๋ถ€์— ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ : in/not in ์—ฐ์‚ฐ์ž

โœ… ๊ฐ’ in ๋ฆฌ์ŠคํŠธ ํ˜•์‹์œผ๋กœ, True/False ๊ฒฐ๊ณผ.

 


๐Ÿฑ ํŒŒ๊ดด์  ํ•จ์ˆ˜, ๋น„ํŒŒ๊ดด์  ํ•จ์ˆ˜

 

1. ๋น„ํŒŒ๊ดด์  ํ•จ์ˆ˜ (ex. ๋ฆฌ์ŠคํŠธ ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž)

list_a = [1, 2, 3]
list_b = [4, 5, 6]

list_a + list_b
>>> [1, 2, 3, 4, 5, 6]

list_a
>>> [1, 2, 3]
list_b
>>> [4, 5, 6]

โœ… ๋ฆฌ์ŠคํŠธ ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด list_a์™€ list_b์™€ ๊ฐ™์ด ์›๋ณธ์— ์–ด๋– ํ•œ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Œ. => ๋น„ํŒŒ๊ดด์  ํ•จ์ˆ˜

 

2. ํŒŒ๊ดด์  ํ•จ์ˆ˜ (ex. ์š”์†Œ ์ถ”๊ฐ€)

list_a = [1, 2, 3]
list_b = [4, 5, 6]

list_a.extend(list_b)

list_a
>>> [1, 2, 3, 4, 5, 6]
list_b
>>> [4, 5, 6]

โœ… ์š”์†Œ ์ถ”๊ฐ€ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์š”์†Œ ์ถ”๊ฐ€ ๊ฒฐ๊ณผ๊ฐ€ list_a์— ์ €์žฅ๋จ.

โœ… append( ), insert( ), extend( ) ํ•จ์ˆ˜์™€ ๊ฐ™์ด ๋ฆฌ์ŠคํŠธ ์›๋ณธ์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ์ฃผ๋Š” ํ•จ์ˆ˜ ๋˜๋Š” ์—ฐ์‚ฐ => ํŒŒ๊ดด์  ํ•จ์ˆ˜

 

3. ๋น„ํŒŒ๊ดด์  ํ•จ์ˆ˜์™€ ํŒŒ๊ดด์  ํ•จ์ˆ˜

โœ… ๋น„ํŒŒ๊ดด์  ํ•จ์ˆ˜๋Š” ํŽธ๋ฆฌํ•˜๊ณ , ์›๋ณธ๊ณผ ์ƒˆ๋กœ์šด ๊ฒฐ๊ณผ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Œ.

โœ… ๊ทธ๋ž˜์„œ ๊ธฐ๋ณธ์ ์ธ ๋ชจ๋“  ๊ฒƒ๋“ค์€ ๋น„ํŒŒ๊ดด์ ์œผ๋กœ ์ž‘๋™ํ•จ.

โœ… ํ•˜์ง€๋งŒ, ๋ฆฌ์ŠคํŠธ๋Š” ์šฉ๋Ÿ‰์ด ๋งŽ์ด ํผ.

โœ… ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ž…์žฅ์—์„œ ์šฉ๋Ÿ‰์ด ์–ผ๋งˆ๋‚˜ ํฐ์ง€๋„ ๋ชจ๋ฅด๋Š” ๊ฒƒ์„ '์›๋ณธ๊ณผ ๊ฒฐ๊ณผ'๋ผ๋Š” ๋‘ ๊ฐ€์ง€๋กœ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์€ ์œ„ํ—˜ํ•จ.

โœ… ๊ทธ๋ž˜์„œ ํŒŒ์ด์ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ์›๋ณธ์„ ์ง์ ‘์ ์œผ๋กœ ์กฐ์ž‘ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ด์„œ ์ด๋Ÿฌํ•œ ์œ„ํ—˜์„ ํ”ผํ•จ. 

โœ… ( ํŒŒ์ด์ฌ ๋ฆฌ์ŠคํŠธ์—์„œ ํŒŒ๊ดด์  ํ•จ์ˆ˜ ์‚ฌ์šฉ ์ด์œ  )

 

 


๐Ÿฑ ๋”•์…”๋„ˆ๋ฆฌ์™€ ๋ฐ˜๋ณต๋ฌธ

 

1. ๋”•์…”๋„ˆ๋ฆฌ

โœ… ๋”•์…”๋„ˆ๋ฆฌ(dictionary)๋Š” ํ‚ค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ.

โœ… ํ˜•์‹์€ { "ํ‚ค" : "๊ฐ’", "ํ‚ค" : "๊ฐ’" ... }

# ๋”•์…”๋„ˆ๋ฆฌ ์„ ์–ธ
dict_a = {
	"name" : "๊ฒจ์šธ์™•๊ตญ"
    "type" : "์• ๋‹ˆ๋ฉ”์ด์…˜"
    }
    
dict_a
>>> {'name': '๊ฒจ์šธ์™•๊ตญ', 'type': '์• ๋‹ˆ๋ฉ”์ด์…˜'}


# ๋”•์…”๋„ˆ๋ฆฌ ์š”์†Œ์— ์ ‘๊ทผ
dict_a["name"]
>>> '๊ฒจ์šธ์™•๊ตญ'
dict_a['type']
>>> '์• ๋‹ˆ๋ฉ”์ด์…˜'

*๏ธโƒฃ ํ‚ค๋กœ ์ ‘๊ทผํ•˜์—ฌ ํ‚ค ๊ฐ’์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์Œ

 

โœ… ๋”•์…”๋„ˆ๋ฆฌ ๋‚ด๋ถ€์˜ ๊ฐ’์— ๋ฌธ์ž์—ด, ์ˆซ์ž, ๋ถˆ ๋“ฑ ๋‹ค์–‘ํ•œ ์ž๋ฃŒ๋ฅผ ๋„ฃ์„ ์ˆ˜๋„ ์žˆ์Œ. 

โœ… ๋ฆฌ์ŠคํŠธ์™€ ๋”•์…”๋„ˆ๋ฆฌ๋„ ํ•˜๋‚˜์˜ ์ž๋ฃŒ์ด๋ฏ€๋กœ, ๋ฆฌ์ŠคํŠธ์™€ ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๊ฐ’์œผ๋กœ ๋„ฃ์„ ์ˆ˜๋„ ์žˆ์Œ.

โœ… ๊ฐ’์ด ๋ฆฌ์ŠคํŠธ์ธ ๊ฒฝ์šฐ, ์ธ๋ฑ์Šค๋ฅผ ์ง€์ •ํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ ์•ˆ์˜ ํŠน์ • ๊ฐ’์„ ์ถœ๋ ฅํ•  ์ˆ˜ ๋„ ์žˆ์Œ.

# ๋”•์…”๋„ˆ๋ฆฌ ์„ ์–ธ
dict_b = {
	"name" : "๊ฒจ์šธ์™•๊ตญ",
    "director" : ["ํฌ๋ฆฌ์Šค ๋ฒ…", "์ œ๋‹ˆํผ ๋ฆฌ"]
    }
    
dict_b
>>> {'name': '๊ฒจ์šธ์™•๊ตญ', 'director': ["ํฌ๋ฆฌ์Šค ๋ฒ…", "์ œ๋‹ˆํผ ๋ฆฌ"]}

dict_b['director']
>>> ["ํฌ๋ฆฌ์Šค ๋ฒ…", "์ œ๋‹ˆํผ ๋ฆฌ"]

dict_b['director'][1]
>>> ["์ œ๋‹ˆํผ ๋ฆฌ"]

 

2. ๋”•์…”๋„ˆ๋ฆฌ์— ๊ฐ’ ์ถ”๊ฐ€/์ œ๊ฑฐ

โœ… ๋”•์…”๋„ˆ๋ฆฌ[์ƒˆ๋กœ์šด ํ‚ค] = ์ƒˆ๋กœ์šด ๊ฐ’

dict_a = {
	"name" : "๊ฒจ์šธ์™•๊ตญ"
    "type" : "์• ๋‹ˆ๋ฉ”์ด์…˜"
    }

# ์š”์†Œ ์ถ”๊ฐ€ํ•˜๊ธฐ
dict_a["director"] = ["ํฌ๋ฆฌ์Šค ๋ฒ…", "์ œ๋‹ˆํผ ๋ฆฌ"]
dict_a["character"] = ["์—˜์‚ฌ", "์•ˆ๋‚˜", "์šธ๋ผํ”„"]


dict_a
>>> {'name' : '๊ฒจ์šธ์™•๊ตญ', 'type' : '์• ๋‹ˆ๋ฉ”์ด์…˜', 
	'director' : ["ํฌ๋ฆฌ์Šค ๋ฒ…", "์ œ๋‹ˆํผ ๋ฆฌ"], 'character' : ["์—˜์‚ฌ", "์•ˆ๋‚˜", "์šธ๋ผํ”„"]}


# ์š”์†Œ ์ œ๊ฑฐํ•˜๊ธฐ
del dict_a["type"]
>>> {'name' : '๊ฒจ์šธ์™•๊ตญ', 'director' : ["ํฌ๋ฆฌ์Šค ๋ฒ…", "์ œ๋‹ˆํผ ๋ฆฌ"], 'character' : ["์—˜์‚ฌ", "์•ˆ๋‚˜", "์šธ๋ผํ”„"]}

*๏ธโƒฃ KeyError ์˜ˆ์™ธ : ๋”•์…”๋„ˆ๋ฆฌ์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ‚ค์— ์ ‘๊ทผํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ์™ธ

 


๐Ÿฑ ๋ฐ˜๋ณต๋ฌธ

โœ… ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์—๋Š” ๋ฌธ์ž์—ด, ๋ฆฌ์ŠคํŠธ, ๋”•์…”๋„ˆ๋ฆฌ, ๋ฒ”์œ„ ๋“ฑ์ด ์žˆ์Œ.

 

1. for ๋ฐ˜๋ณต๋ฌธ : ๋ฆฌ์ŠคํŠธ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ธฐ

# for ๋ฐ˜๋ณต์ž in ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ:
#	์ฝ”๋“œ

#๋ฆฌ์ŠคํŠธ ์˜ˆ์‹œ
list_a = [123, 456, 789, 10]

for element in list_a:
	print(element)
    
>>> 123
>>> 456
>>> 789
>>> 10

# ๋ฌธ์ž์—ด ์˜ˆ์‹œ
for character in "์•ˆ๋…•ํ•˜์„ธ์š”":
	print(character)
    
>>> ์•ˆ
>>> ๋…•
>>> ํ•˜
>>> ์„ธ
>>> ์š”

 

2. for ๋ฐ˜๋ณต๋ฌธ : ๋”•์…”๋„ˆ๋ฆฌ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ธฐ

for ๋ฐ˜๋ณต์ž in ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ:
	์ฝ”๋“œ

# ๋”•์…”๋„ˆ๋ฆฌ ์˜ˆ์‹œ
dict_a =  {
	'name' : '๊ฒจ์šธ์™•๊ตญ', 
    'director' : ["ํฌ๋ฆฌ์Šค ๋ฒ…", "์ œ๋‹ˆํผ ๋ฆฌ"], 
    'character' : ["์—˜์‚ฌ", "์•ˆ๋‚˜", "์šธ๋ผํ”„"]}
    
for key in dict_a:
	print("{}:{}".format(key, dict_a[key])

>>> 'name' : '๊ฒจ์šธ์™•๊ตญ'
    'director' : ["ํฌ๋ฆฌ์Šค ๋ฒ…", "์ œ๋‹ˆํผ ๋ฆฌ"]
    'character' : ["์—˜์‚ฌ", "์•ˆ๋‚˜", "์šธ๋ผํ”„"]

 

 


๐Ÿฑ ๋ฐ˜๋ณต๋ฌธ๊ณผ while ๋ฐ˜๋ณต๋ฌธ

 

1. ๋ฒ”์œ„(range)

โœ… for ๋ฐ˜๋ณต๋ฌธ๊ณผ ํ•จ๊ป˜ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฃŒํ˜•

โœ… ํŠน์ •ํ•œ ํšŸ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•˜๊ณ  ์‹ถ์„ ๋•Œ for ๋ฐ˜๋ณต๋ฌธ๊ณผ ๋ฒ”์œ„๋ฅผ ์กฐํ•ฉํ•ด์„œ ์‚ฌ์šฉ

# range(์‹œ์ž‘, ๋, ๋‹จ๊ณ„) 
range(0, 10, 2) 
# => 0๋ถ€ํ„ฐ 9๊นŒ์ง€ 2์”ฉ
>>> [0, 2, 4, 6, 8]

# range(์‹œ์ž‘, ๋) (๋‹จ๊ณ„ = 1 ์ƒ๋žต)
range(0, 5) 
# => 0๋ถ€ํ„ฐ 9๊นŒ์ง€ 1์”ฉ
>> [0, 1, 2, 3, 4]

# range(๋) (์‹œ์ž‘ = 0, ๋‹จ๊ณ„ = 1 ์ƒ๋žต)
range(5) 
# => 0๋ถ€ํ„ฐ 9๊นŒ์ง€ 1์”ฉ
>> [0, 1, 2, 3, 4]

 

2. for ๋ฐ˜๋ณต๋ฌธ : ๋ฆฌ์ŠคํŠธ, ๋ฒ”์œ„์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ธฐ

# for ๋ฐ˜๋ณต๋ฌธ๊ณผ ๋ฒ”์œ„ ์กฐํ•ฉ
for i in range(0, 10, 3)
	print(i)
    
>>> 0
>>> 3
>>> 6
>>> 9


# for ๋ฐ˜๋ณต๋ฌธ๊ณผ ๋ฆฌ์ŠคํŠธ์™€ ๋ฒ”์œ„ ์กฐํ•ฉ
list_a = [123, 456, 789]

for i in range(len(list_a)):
	print("{}๋ฒˆ์งธ ๋ฐ˜๋ณต: {}".format(i, list_a[i])

>>> 0๋ฒˆ์งธ ๋ฐ˜๋ณต: 123
>>> 1๋ฒˆ์งธ ๋ฐ˜๋ณต: 456
>>> 2๋ฒˆ์งธ ๋ฐ˜๋ณต: 789

 

3. for ๋ฐ˜๋ณต๋ฌธ : ์—ญ๋ฐ˜๋ณต๋ฌธ

# ๋ฐฉ๋ฒ•1

for i in range(4, 0-1, -1) :
	print("{}".format(i))
    
>>> 4
>>> 3
>>> 2
>>> 1
>>> 0


# ๋ฐฉ๋ฒ•2
for i in reversed(range(5)) :
	print("{}".format(i))
    
>>> 4
>>> 3
>>> 2
>>> 1
>>> 0

โœ… reversed( ) ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•˜๋ฉด [0, 1, 2, 3, 4]๋ผ๋Š” ํ˜•ํƒœ์˜ ๋ฒ”์œ„๊ฐ€ [4, 3, 2, 1, 0]์ด ๋จ.

 

4. while ๋ฐ˜๋ณต๋ฌธ

while ๋ถˆ ํ‘œํ˜„์‹:
	๋ฌธ์žฅ

5. while ๋ฐ˜๋ณต๋ฌธ : for ๋ฐ˜๋ณต๋ฌธ์ฒ˜๋Ÿผ ์‚ฌ์šฉ

i = 0
while i < 5:
	print("{}๋ฒˆ์งธ ๋ฐ˜๋ณต".format(i))
	i += 1
>>> 0
>>> 1
>>> 2
>>> 3
>>> 4

โœ… ๋ฌดํ•œ ๋ฐ˜๋ณต, '์กฐ๊ฑด'์„ ํ™œ์šฉํ•œ ๋ฐ˜๋ณต์€ while ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉ

โœ… for ๋ฐ˜๋ณต๋ฌธ์€ ๋ฌดํ•œ ๋ฐ˜๋ณต์ด ์•ˆ๋จ

 

6. while ๋ฐ˜๋ณต๋ฌธ : ์ƒํƒœ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ˜๋ณตํ•˜๊ธฐ

โœ… while ๋ฐ˜๋ณต๋ฌธ๊ณผ remove( ) ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ์กฐ๊ฑด์„ '๋ฆฌ์ŠคํŠธ ๋‚ด๋ถ€์— ์š”์†Œ๊ฐ€ ์žˆ๋Š” ๋™์•ˆ ํ•ด๋‹น ๊ฐ’ ์ œ๊ฑฐ'

list_a = [1, 2, 1, 2]
i = 2

while i in list_a:
	list_a.remoeve(i)
    
print(list_a)

>>> [1, 1]

 

7. while ๋ฐ˜๋ณต๋ฌธ : ์‹œ๊ฐ„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ˜๋ณตํ•˜๊ธฐ

โœ… ์œ ๋‹‰์Šค ํƒ€์ž„(Unix Time)์€ ์„ธ๊ณ„ ํ‘œ์ค€์‹œ๋กœ 1970๋…„ 1์›” 1์ผ 0์‹œ 0๋ถ„ 0์ดˆ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ช‡์ดˆ๊ฐ€ ์ง€๋‚ฌ๋Š”์ง€ ์ •์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ.

โœ… while ๋ฐ˜๋ณต๋ฌธ๊ณผ ์œ ๋‹‰์Šค ํƒ€์ž„์„ ์‚ฌ์šฉํ•ด ํŠน์ • ์‹œ๊ฐ„ ๋™์•ˆ ํ”„๋กœ๊ทธ๋žจ์„ ๋ฐ˜๋ณต.

import time

num = 0

target_tick = time.time() + 5
while time.time() < trget_tick:
	num += 1

print("5์ดˆ๋™์•ˆ {}๋ฒˆ ๋ฐ˜๋ณตํ–ˆ์Šต๋‹ˆ๋‹ค.".format(num))

 

8. while ๋ฐ˜๋ณต๋ฌธ : break/continue ํ‚ค์›Œ๋“œ

โœ… break ํ‚ค์›Œ๋“œ๋Š” ๋ฐ˜๋ณต๋ฌธ์„ ๋ฒ—์–ด๋‚  ๋•Œ ์‚ฌ์šฉ

i = 0

while True:
	print("{}๋ฒˆ์งธ ๋ฐ˜๋ณต๋ฌธ".format(i))
    i = i + 1
    
    input_text = input("์ข…๋ฃŒํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?(y/n): ")
    if input_text in ["y", "Y"]:
    	print("์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.")
        break

 

โœ… continue ํ‚ค์›Œ๋“œ๋Š” ํ˜„์žฌ ๋ฐ˜๋ณต์„ ์ƒ๋žตํ•˜๊ณ , ๋‹ค์Œ ๋ฐ˜๋ณต์œผ๋กœ ๋„˜์–ด๊ฐˆ ๋•Œ ์‚ฌ์šฉ

โœ… continue ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ์™€ ์•„๋‹ ๊ฒฝ์šฐ ๋น„๊ต

list_b = [34, 15, 6, 78, 100]

# continue ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ
# list_b ์•ˆ์—์„œ 20๋ณด๋‹ค ์ž‘์„ ๊ฒฝ์šฐ ๊ณ„์†ํ•˜๊ณ , ์•„๋‹ˆ๋ฉด ์•„๋ž˜ ๊ณผ์ •์€ ์ƒ๋žต.
# print(i) ๊ณผ์ •๊นŒ์ง€ ๊ฐ€๋Š” ์š”์†Œ๋Š” [15 ,6]
# continue ํ‚ค์›Œ๋“œ๋กœ ์ดํ›„ ์ฒ˜๋ฆฌ์˜ ๋“ค์—ฌ์“ฐ๊ธฐ๋ฅผ ํ•˜๋‚˜ ์ค„์ผ ์ˆ˜ ์žˆ์Œ.

for i in list_b:
	if i < 20:
    	continue
    print(i)
    
    
# continue ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ
# list_b ์•ˆ์—์„œ 20๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด ์ถœ๋ ฅ.

for i in list_b:
	if i >= 20:
    	print(i)

 

 


๐Ÿฑ ๋ฌธ์ž์—ด, ๋ฆฌ์ŠคํŠธ, ๋”•์…”๋„ˆ๋ฆฌ์™€ ๊ด€๋ จ๋œ ๊ธฐ๋ณธ ํ•จ์ˆ˜

 

1. ๋ฆฌ์ŠคํŠธ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ณธ ํ•จ์ˆ˜ : min(), max(), sum()

โœ… min( ) : ์ตœ์†Œ๊ฐ’, ๋ฆฌ์ŠคํŠธ ์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ, min([1, 2, 3]), min(1, 2, 3)

โœ… max( ) : ์ตœ๋Œ€๊ฐ’, ๋ฆฌ์ŠคํŠธ ์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ, max([1, 2, 3]), max(1, 2, 3)

โœ… sum( ) : ์ดํ•ฉ๊ณ„, ๋ฆฌ์ŠคํŠธ ํ•„์ˆ˜!, sum([1, 2, 3])