๐Ÿ“š ์Šคํ„ฐ๋””/ํŒŒ์ด์ฌ ์Šคํ„ฐ๋”” ๊ฐ•์˜์ž๋ฃŒ

[1์ฐจ์‹œ/๊น€์ฑ„์€] ํŒŒ์ด์ฌ ์Šคํ„ฐ๋”” - ํŒŒ์ด์ฌ ๊ฐœ์š”, ์ž…์ถœ๋ ฅ๊ณผ ๋ฆฌ์ŠคํŠธ

8635 2025. 3. 11. 13:35
1์ฐจ์‹œ_ํŒŒ์ด์ฌ ์ž…์ถœ๋ ฅ ๋ฆฌ์ŠคํŠธ.pdf
1.73MB
1์ฐจ์‹œ ํŒŒ์ด์ฌ ์ž…์ถœ๋ ฅ ๋ฆฌ์ŠคํŠธ ๊ณผ์ œ.pdf
0.20MB

 

10๋ฒˆ ๋ฌธ์ œ์™€ ๊ด€๋ จํ•˜์—ฌ-์ œ์ถœ๋œ ๊ณผ์ œ๋ฅผ ํ™•์ธํ•˜๋‹ค๊ฐ€ ์ œ๊ฐ€ ๋‚ธ ๋ฌธ์ œ์˜ ์˜ค๋ฅ˜๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ๊ฐ€ ์•„๋‹Œ ์˜ฌ๋ฐ”๋ฅธ ๊ตฌ์˜ ๋ถ€ํ”ผ ๊ณต์‹๋Œ€๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ์ œ์ถœํ•ด์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ด๋ฏธ ๊ณผ์ œ๋ฅผ ์ œ์ถœํ•˜์…จ๋‹ค๋ฉด ๋‹ค์‹œ ์ œ์ถœํ•˜์ง€ ์•Š์œผ์…”๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ํ˜ผ๋ž€์„ ๋“œ๋ ค ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค.

Chapter 01 ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ํŒŒ์ด์ฌ

 

01 ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์ดํ•ด

  • ์ฝ”๋”ฉ(Coding): ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋Š” ํ–‰์œ„
  • ์ฝ”๋“œ(Code): ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Programming): ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(Programming Language): ์ธ๊ฐ„์ด ์›ํ•˜๋Š” ๊ฒƒ์„ ์ปดํ“จํ„ฐ๋กœ ์‹คํ–‰์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š”, ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด

 

02 ํŒŒ์ด์ฌ ์†Œ๊ฐœ

Python : ๋„ค๋œ๋ž€๋“œ ๊ฐœ๋ฐœ์ž ๊ท€๋„ ๋ฐ˜ ๋กœ์„ฌ์ด C์–ธ์–ด ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœํ•œ ์–ธ์–ด
ํŒŒ์ด์ฌ ํŠน์ง•: ํ”Œ๋žซํผ ๋…๋ฆฝ์ , ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด, ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด, ๋™์  ํƒ€์ดํ•‘
โœจํŒŒ์ด์ฌ์„ ๋ฐฐ์šฐ๋Š” ์ด์œ ?
 

03 ํŒŒ์ด์ฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ ์„ค์น˜

ํŒŒ์ด์ฌ ์ธํ„ฐํ”„๋ฆฌํ„ฐ: ํŒŒ์ด์ฌ์œผ๋กœ ์ž‘์„ฑ๋œ ์†Œ์Šค์ฝ”๋“œ์˜ ์‹คํ–‰ ํ”„๋กœ๊ทธ๋žจ

  • Python: ์ผ๋ฐ˜์ ์ธ ํŒŒ์ด์ฌ์œผ๋กœ ๊ธฐ๋ณธ์ ์ธ ๋ชจ๋“ˆ์„ ํฌํ•จ
  • Anaconda: ๋‹ค์–‘ํ•œ ๊ณผํ•™ ๊ณ„์‚ฐ์šฉ ๋ชจ๋“ˆ์„ ๋ฌถ์–ด ํŒจํ‚ค์ง€๋กœ ์ œ๊ณต

์ฝ”๋“œ ํŽธ์ง‘๊ธฐ: ์†Œ์Šค์ฝ”๋“œ ๋ฌธ์„œ๋ฅผ ํ•ด์„ํ•  ํ”„๋กœ๊ทธ๋žจ

  • ํ…์ŠคํŠธ ์—๋””ํ„ฐ: ๋‹จ์ˆœํžˆ ๋ฌธ์„œ๋ฅผ ํŽธ์ง‘ํ•  ๋•Œ ์‚ฌ์šฉ
  • ํ†ตํ•ฉ๊ฐœ๋ฐœํ™˜๊ฒฝ(Integrated Development Environment, IDE): ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฐœ๋ฐœ๋ถ€ํ„ฐ ๋ฐฐํฌ๊นŒ์ง€ ์ „ ๊ณผ์ •์„ ์ง€์›

 
https://www.jetbrains.com/pycharm/
https://www.anaconda.com/download
https://colab.research.google.com/

 

Chapter 02 ๋ณ€์ˆ˜์™€ ์ž๋ฃŒํ˜•

01 ๋ณ€์ˆ˜์˜ ์ดํ•ด

1)๋ณ€์ˆ˜์™€ ๊ฐ’

junior = "chae eun"
print(junior)

#chae eun

 
ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋Š” โ€œjunior๋ผ๋Š” ๊ณต๊ฐ„์— chae eun์ด๋ผ๋Š” ๊ธ€์ž๋ฅผ ๋„ฃ์–ด๋ผ.โ€๋กœ ํ•ด์„
์ •ํ™•ํ•˜๊ฒŒ๋Š” junior๋ผ๋Š” ๋ณ€์ˆ˜์— chae eun์ด๋ผ๋Š” ๊ฐ’์„ ๋„ฃ์œผ๋ผ๋Š” ๋œป
์ด๋ ‡๊ฒŒ ๋ณ€์ˆ˜์— ๊ฐ’์„ ๋„ฃ๋Š” ๊ณผ์ •์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋Š” ํ• ๋‹น(assignment)์ด๋ผ๊ณ  ํ•จ

a = 2
b = 3
print(a + b) 
print("a + b")

#5
#a + b

 
2)๋ณ€์ˆ˜์™€ ๋ฉ”๋ชจ๋ฆฌ
(ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ์˜) ๋ณ€์ˆ˜: ์–ด๋– ํ•œ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ์žฅ์†Œ
๋ฉ”๋ชจ๋ฆฌ: ๋ณ€์ˆ˜๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ปดํ“จํ„ฐ ์† ๋ฌผ๋ฆฌ์  ์žฅ์†Œ (๊ทธ ์œ„์น˜๋ฅผ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ผ๊ณ  ํ•จ)
 
3)๋ณ€์ˆ˜๋ช… ์„ ์–ธ

  • ์•ŒํŒŒ๋ฒณ, ์ˆซ์ž, ์–ธ๋”๋ฐ”(_), ํ•œ๊ธ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„๋จ
  • ์ˆซ์ž๋Š” ๋งจ ์•ž์— ์˜ฌ ์ˆ˜ ์—†์Œ
  • ์˜ˆ์•ฝ์–ด๋Š” ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ (ex. if)
  • ์˜๋ฏธ๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์‰ฝ๊ฒŒ ์ง€์–ด์•ผ ํ•จ

 

02 ์ž๋ฃŒํ˜•๊ณผ ๊ธฐ๋ณธ ์—ฐ์‚ฐ

1)๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„
ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•  ๋•Œ ๊ทธ ๋ณ€์ˆ˜์˜ ํฌ๊ธฐ๋งŒํผ ๊ณต๊ฐ„(์ผ์ •ํ•œ ์šฉ๋Ÿ‰)์„ ํ• ๋‹น๋ฐ›์Œ
 
2)๊ธฐ๋ณธ ์ž๋ฃŒํ˜•

  • ์ •์ˆ˜ํ˜•(integer type): ์ž์—ฐ์ˆ˜๋ฅผ ํฌํ•จํ•ด 0, 1. 2, "1, -2์™€ ๊ฐ™์ด ๊ฐ’์˜ ์˜์—ญ์ด ์ •์ˆ˜๋กœ ํ•œ์ •๋œ ๊ฐ’
  • ์‹ค์ˆ˜ํ˜•(floating-point type): 10.2, 7.2์™€ ๊ฐ™์ด ์†Œ์ˆ˜์ ์ด ํฌํ•จ๋œ ๊ฐ’. ์‹ค์ œ๋กœ ๊ฐ’์ด ์ •์ˆ˜ํ˜• ์ด๋ผ๋„ 9.0์œผ๋กœ ์ž…๋ ฅํ•˜๋ฉด ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋Š” ์‹ค์ˆ˜ํ˜•์œผ๋กœ ํ•ด์„ํ•จ
num = 4.0   #4.์œผ๋กœ ์จ๋„ 4.0์œผ๋กœ ํ•ด์„
type(num) 

#float
  • ๋ฌธ์žํ˜•(string type): ๊ฐ’์ด ๋ฌธ์ž๋กœ ์ถœ๋ ฅ๋˜๋Š” ์ž๋ฃŒํ˜•. ํŒŒ์ด์ฌ์—์„œ๋Š” ๋ณดํ†ต ๋”ฐ์˜ดํ‘œ์— ๋“ค์–ด๊ฐ„ ์ • ๋ณด๋ฅผ ๋ฌธ์žํ˜• ๋ฐ์ดํ„ฐ๋ผ๊ณ  ํ•จ
a1 = "pyt"
a2 = 'hon'
print(a1,a2)

#์ถœ๋ ฅ๊ฐ’: pyt hon
  • ๋ถˆ๋ฆฐํ˜•(boolean type)์€ ๋…ผ๋ฆฌํ˜•์ด๋ผ๊ณ ๋„ ํ•˜๋ฉฐ, ์ฐธ(True) ๋˜๋Š” ๊ฑฐ์ง“(False)์„ ํ‘œํ˜„ํ•  ๋•Œ ์‚ฌ์šฉ
  • True = ์ฐธ = 1 (์ปดํ“จํ„ฐ) / False = ๊ฑฐ์ง“ = 0
x1 = True
x2 = False
print(x1, x2)

#True False

 
3)๊ฐ„๋‹จํ•œ ์—ฐ์‚ฐ
 
+ ๋”ํ•˜๊ธฐ ์—ฐ์‚ฐ์ž (๋ฌธ์žํ˜•์—๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)
- ๋นผ๊ธฐ ์—ฐ์‚ฐ์ž
* ๊ณฑํ•˜๊ธฐ ์—ฐ์‚ฐ์ž (๋ฌธ์ž์— ์ˆซ์ž ๊ณฑํ•˜๋ฉด ๋ฐ˜๋ณต๋˜์–ด์„œ ์ถœ๋ ฅ)
** ์ œ๊ณฑ ์—ฐ์‚ฐ์ž (3**2)
/ ๋‚˜๋ˆ„๊ธฐ ์—ฐ์‚ฐ์ž (๊ฒฐ๊ณผ๊ฐ’์ด ์‹ค์ˆ˜
// ๊ฒฐ๊ณผ๊ฐ’์ด ์ •์ˆ˜
% ๋‚˜๋จธ์ง€ ์ถœ๋ ฅ
ํ”ผ์—ฐ์‚ฐ์ž: ์—ฐ์‚ฐ์ž์— ์˜ํ•ด ๊ณ„์‚ฐ๋˜๋Š” ์ˆซ์ž
 
์ฆ๊ฐ€/๊ฐ์†Œ ์—ฐ์‚ฐ

a = 1
a = a + 1 #์ด๊ฑฐ๋ž‘
a += 1 #์ด๊ฒŒ ๊ฐ™์Œ

b = 1
b = b - 1 #๊ฐ์†Œ ์—ฐ์‚ฐ์˜ ๊ฒฝ์šฐ์—๋„ ๋น„์Šทํ•จ
b -= 1 

 
03 ์ž๋ฃŒํ˜• ๋ณ€ํ™˜

1)์ •์ˆ˜ํ˜• ์‹ค์ˆ˜ํ˜• ๋ณ€ํ™˜

a = 10
print(a) #์ถœ๋ ฅ๊ฐ’: 10

a = float(a)
print(a) #์ถœ๋ ฅ๊ฐ’: 10.0
q = 2.9
q = int(q)
print(q) #์ถœ๋ ฅ๊ฐ’: 2

 
2)์ˆซ์žํ˜• ๋ฌธ์žํ˜• ๋ณ€ํ™˜

a = "2"
a = int(a)
print(a + 2.2) #์ถœ๋ ฅ๊ฐ’: 4.2

๋ฌธ์žํ˜•๊ณผ ์ˆซ์žํ˜•์€ ๋”ํ•  ์ˆ˜ ์—†์Œ

c = 0
d = 1
c = str(c)
d = str(d)
print(c + d) #์ถœ๋ ฅ๊ฐ’: 01

๋ฌธ์žํ˜•๋ผ๋ฆฌ ๋”ํ•˜๋ฉด ๋ถ™์–ด์„œ ๋ฐ˜ํ™˜(๊ฒฐ๊ณผ๊ฐ’์ด ๋‚˜์˜ด)
 
3)์ž๋ฃŒํ˜• ํ™•์ธํ•˜๊ธฐ

e = 1
type(e) #์ถœ๋ ฅ๊ฐ’ int
print(type(e)) #์ถœ๋ ฅ๊ฐ’: <class 'int'>

Chapter 03 ํ™”๋ฉด์ž…์ถœ๋ ฅ๊ณผ ๋ฆฌ์ŠคํŠธ

01 ํŒŒ์ด์ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ

 
1)์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(User Interface): ์ปดํ“จํ„ฐ์— ๋ช…๋ น์„ ์ž…๋ ฅํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ
GUI(Graphical User Interface): ๋งˆ์šฐ์Šค๋กœ ์•„์ด์ฝ˜์„ ๋ˆŒ๋Ÿฌ ๋ช…๋ น ์‹คํ–‰
2)CLI(Command Line Interface): ํ‚ค๋ณด๋“œ๋งŒ์œผ๋กœ ๋ช…๋ น์„ ์ž…๋ ฅํ•˜๋Š” ํ™˜๊ฒฝ
 

02 ํ™”๋ฉด ์ž…์ถœ๋ ฅ

1)ํ‘œ์ค€ ์ž…๋ ฅ ํ•จ์ˆ˜: input() ํ•จ์ˆ˜

print("Enter your name:")
somebody = input()
print("Hi", somebody, "How are you today?")
"""
Enter your name:
chae eun
Hi chae eun How are you today?
"""

print("Hi", input("Enter your name:"), "How are you today?")
"""
Enter your name:chae eun
Hi chae eun How are you today?
"""

print() ์•ˆ์— input() ๋„ฃ์„ ์ˆ˜ ์žˆ์Œ
input() ์•ˆ์— ํ…์ŠคํŠธ๋ฅผ ๋„ฃ์œผ๋ฉด ์ž…๋ ฅ๋ฐ›์„ ๋•Œ ์•ž์— ์ถœ๋ ฅ๋จ
 
2)ํ‘œ์ค€ ์ถœ๋ ฅ ํ•จ์ˆ˜: print() ํ•จ์ˆ˜

print("Hello World!", "Hello Again!!!")
#์ถœ๋ ฅ๊ฐ’: Hello World! Hello Again!!!

print("Hello World!" + "Hello Again!!!")
#์ถœ๋ ฅ๊ฐ’: Hello World!Hello Again!!!

์ฝค๋งˆ(,)๋Š” ๋„์–ด์„œ, ํ”Œ๋Ÿฌ์Šค(+)๋Š” ๋ถ™์—ฌ์„œ ์ถœ๋ ฅ

print("year", 2025)
#์ถœ๋ ฅ๊ฐ’: year 2025

print("year" + 2025)
#์˜ค๋ฅ˜

์ฝค๋งˆ(,): ์ž๋ฃŒํ˜•์ด ๋‹ฌ๋ผ๋„ ์ถœ๋ ฅ ๊ฐ€๋Šฅ
ํ”Œ๋Ÿฌ์Šค(+): ์ž๋ฃŒํ˜• ๋‹ค๋ฅด๋ฉด ์ถœ๋ ฅ ๋ถˆ๊ฐ€

a = input()
print(1 + a)

a์— 3๊ณผ ๊ฐ™์€ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•ด๋„ ์‹คํ–‰์‹œ ์˜ค๋ฅ˜
input()์˜ ์ž…๋ ฅ๊ฐ’์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌธ์žํ˜•

a = float(input())
print(1 + a)

#3์ž…๋ ฅ ์‹œ 4.0 ์ถœ๋ ฅ

input์œผ๋กœ ๋ฐ›๋Š” ๊ฐ’์˜ ์ž๋ฃŒํ˜•์„ ๋ฐ”๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Œ
 

03 ๋ฆฌ์ŠคํŠธ์˜ ์ดํ•ด

1)๋ฆฌ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 

#๋ฐ์‚ฌ๊ณผ ํ•™์ƒ๋“ค์˜ 1ํ•™๊ธฐ ํ•™์  ์ •๋ณด๋ฅผ ์ €์žฅํ•  ๋•Œ...

ํ•™์ƒ1 = 3.9
ํ•™์ƒ2 = 4.3
ํ•™์ƒ3 = 2.4
ํ•™์ƒ4 = 1.5

ํ•™์  = [3.9, 4.3, 2.4, 1.5]

 
2)๋ฆฌ์ŠคํŠธ์˜ ๊ฐœ๋…

  • ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜์— ์—ฌ๋Ÿฌ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒํ˜•
  • ์‹œํ€€์Šค ์ž๋ฃŒํ˜•-์—ฌ๋Ÿฌ ์ž๋ฃŒ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋„ฃ์Œ
  • ํ•˜๋‚˜์˜ ๋ฆฌ์ŠคํŠธ์— ๋‹ค์–‘ํ•œ ์ž๋ฃŒํ˜•์„ ํฌํ•จ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ(๋ฆฌ์ŠคํŠธ ์•ˆ์—๋„ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ์Œ)

 
3)์ธ๋ฑ์‹ฑ๊ณผ ์Šฌ๋ผ์ด์‹ฑ

  • ์ธ๋ฑ์‹ฑ(indexing): ๋ฆฌ์ŠคํŠธ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฐ’์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ์ด ๊ฐ’์˜ ์ƒ๋Œ€์ ์ธ ์ฃผ์†Œ(์ธ๋ฑ์Šค ์ฃผ์†Œ, ์ธ๋ฑ์Šค๊ฐ’. offset)์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ
    colors = ['red', 'blue', 'green']
    print(colors[0])
    print(colors[2])
    print(len(colors))
    
    """
    red
    green
    3
    """
    
    len()์€ length์˜ ์ค€๋ง๋กœ ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค๊ฐ’์„ 0์ด๋ผ๊ณ  ํ•˜๋ฉฐ ์ฒซ ๋ฒˆ์งธ ๊ฐ’๊ณผ ์–ผ๋งˆ๋‚˜ ๋–จ์–ด์ ธ ์žˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋ƒ„

 

  • ์Šฌ๋ผ์ด์‹ฑ(slicing): ์ „์ฒด ๋ฆฌ์ŠคํŠธ์—์„œ ์ผ๋ถ€๋ฅผ ์ž˜๋ผ๋‚ด์–ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ
    cities = ['์„œ์šธ', '๋ถ€์‚ฐ', '์ธ์ฒœ', '๋Œ€๊ตฌ', '๋Œ€์ „', '๊ด‘์ฃผ', '์šธ์‚ฐ', '์ˆ˜์›']
    cities[0๏ผš6]
    #์ถœ๋ ฅ๊ฐ’: ['์„œ์šธ', '๋ถ€์‚ฐ', '์ธ์ฒœ', '๋Œ€๊ตฌ', '๋Œ€์ „', '๊ด‘์ฃผ']
    
    cities[6]์€ ์šธ์‚ฐ์ธ๋ฐ ์šธ์‚ฐ ๋ฐ”๋กœ ์•ž์— ์žˆ๋Š” ๊ด‘์ฃผ๊นŒ์ง€ ๋“ค์–ด๊ฐ, ์ž…๋ ฅํ•œ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค ์•ž์—์„œ ์ž๋ฆ„ (์ž…๋ ฅํ•œ โ€˜๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šคโ€™-1 ๊นŒ์ง€ ํฌํ•จ) / ๋ณ€์ˆ˜๋ช…[์‹œ์ž‘ ์ธ๋ฑ์Šค:๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค]

 

  • ๋ฆฌ๋ฒ„์Šค ์ธ๋ฑ์Šค(reverse index): ๋งˆ์ง€๋ง‰ ๊ฐ’๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ธ๋ฑ์Šค ๊ธฐ๋Šฅ๊ฐ’ ์„œ์šธ ๋ถ€์‚ฐ ์ธ์ฒœ ๋Œ€๊ตฌ ๋Œ€์ „ ๊ด‘์ฃผ ์šธ์‚ฐ ์ˆ˜์›
    ์ธ๋ฑ์Šค 0 1 2 3 4 5 6 7
    ๋ฆฌ๋ฒ„์Šค -8 -7 -6 -5 -4 -3 -2 -1
    cities = ['์„œ์šธ', '๋ถ€์‚ฐ', '์ธ์ฒœ', '๋Œ€๊ตฌ', '๋Œ€์ „', '๊ด‘์ฃผ', '์šธ์‚ฐ', '์ˆ˜์›']
    cities[-5:]
    
    #์ถœ๋ ฅ๊ฐ’: ['๋Œ€๊ตฌ', '๋Œ€์ „', '๊ด‘์ฃผ', '์šธ์‚ฐ', '์ˆ˜์›']
    
    ๋งˆ์ง€๋ง‰ ๊ฐ’๋ถ€ํ„ฐ -1์„ ํ• ๋‹น

 

  • ์ธ๋ฑ์Šค ๋ฒ”์œ„๋ฅผ ๋„˜์–ด๊ฐ€๋Š” ์Šฌ๋ผ์ด์‹ฑ(slicing with over index)์ธ๋ฑ์Šค๋ฅผ ๋”ฐ๋กœ ๋„ฃ์ง€ ์•Š๊ณ  cities[:]๊ณผ ๊ฐ™์ด ์ฝœ๋ก (๏ผš)์„ ๋„ฃ์œผ๋ฉด cities ๋ณ€์ˆ˜์˜ ๋ชจ๋“  ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.์ธ๋ฑ์Šค ๋ฒ”์œ„๋ฅผ ๋„˜๊ธฐ๋ฉด ๋๊นŒ์ง€ ์ถœ๋ ฅ๋จ
cities = ['์„œ์šธ', '๋ถ€์‚ฐ', '์ธ์ฒœ', '๋Œ€๊ตฌ', '๋Œ€์ „', '๊ด‘์ฃผ', '์šธ์‚ฐ', '์ˆ˜์›']
cities[-20:20]

#์ถœ๋ ฅ๊ฐ’: ['์„œ์šธ', '๋ถ€์‚ฐ', '์ธ์ฒœ', '๋Œ€๊ตฌ', '๋Œ€์ „', '๊ด‘์ฃผ', '์šธ์‚ฐ', '์ˆ˜์›']


cities = ['์„œ์šธ', '๋ถ€์‚ฐ', '์ธ์ฒœ', '๋Œ€๊ตฌ', '๋Œ€์ „', '๊ด‘์ฃผ', '์šธ์‚ฐ', '์ˆ˜์›']
cities[:]

#์ถœ๋ ฅ๊ฐ’: ['์„œ์šธ', '๋ถ€์‚ฐ', '์ธ์ฒœ', '๋Œ€๊ตฌ', '๋Œ€์ „', '๊ด‘์ฃผ', '์šธ์‚ฐ', '์ˆ˜์›']โ€‹
  • ์ฆ๊ฐ€๊ฐ’(step):
    cities = ['์„œ์šธ', '๋ถ€์‚ฐ', '์ธ์ฒœ', '๋Œ€๊ตฌ', '๋Œ€์ „', '๊ด‘์ฃผ', '์šธ์‚ฐ', '์ˆ˜์›']
    cities[::2]
    
    #์ถœ๋ ฅ๊ฐ’: ['์„œ์šธ', '์ธ์ฒœ', '๋Œ€์ „', '์šธ์‚ฐ']
    
    cities[::-1]
    
    #์ถœ๋ ฅ๊ฐ’: ['์ˆ˜์›', '์šธ์‚ฐ', '๊ด‘์ฃผ', '๋Œ€์ „', '๋Œ€๊ตฌ', '์ธ์ฒœ', '๋ถ€์‚ฐ', '์„œ์šธ']
    
    ์ฆ๊ฐ€๊ฐ’์ด ์Œ์ˆ˜๋ฉด ์—ญ๋ฐฉํ–ฅ์œผ๋กœ ์ถœ๋ ฅ๋จ/๋ณ€์ˆ˜๋ช…[์‹œ์ž‘ ์ธ๋ฑ์Šค:๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค:์ฆ๊ฐ€๊ฐ’]

4)๋ฆฌ์ŠคํŠธ ์—ฐ์‚ฐ

  • ๋ง์…ˆ
color1 = ['red', 'blue', 'green']
color2 = ['orange', 'black', 'white']
print(color1 + color2)

#['red', 'blue', 'green', 'orange', 'black', 'white']

total_color = color1 + color2
print(total_color)

#['red', 'blue', 'green', 'orange', 'black', 'white']

 

  • ๊ณฑ์…ˆ: ๋ฆฌ์ŠคํŠธ์— n์„ ๊ณฑํ•˜๋ฉด n๋งŒํผ ๋ฐ˜๋ณต
color1 * 2

#['red', 'blue', 'green', 'red', 'blue', 'green']

 

  • in ์—ฐ์‚ฐ: ํฌํ•จ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ์—ฐ์‚ฐ
'blue' in color2 #False

 
5)๋ฆฌ์ŠคํŠธ ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ

  • append() ํ•จ์ˆ˜: ๋งจ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค์— ์ƒˆ๋กœ์šด ๊ฐ’ ์ถ”๊ฐ€
colors = ['red', 'blue', 'green']
colors.append('white')
colors

#['red', 'blue', 'green', 'white']

 

  • extend() ํ•จ์ˆ˜: ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๊ธฐ์กด ๋ฆฌ์ŠคํŠธ์— ์ƒˆ๋กœ์šด ๋ฆฌ์ŠคํŠธ๋ฅผ ํ•ฉ์นจ
colors = ['red', 'blue', 'green']
colors.extend(['white', 'yellow'])
colors

#['red', 'blue', 'green', 'white', 'yellow']

 

  • insert() ํ•จ์ˆ˜: ๋ฆฌ์ŠคํŠธ์˜ ํŠน์ • ์œ„์น˜์— ๊ฐ’ ์ถ”๊ฐ€
colors = ['red', 'blue', 'green']
colors.insert(1,'yellow')
colors

#['red', 'yellow', 'blue', 'green']

 

  • remove() ํ•จ์ˆ˜: ๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š” ํŠน์ • ๊ฐ’ ์ œ๊ฑฐ
colors = ['red', 'blue', 'green']
colors.remove('blue')
colors

#['red', 'green']

 

  • ์ธ๋ฑ์Šค ์žฌํ• ๋‹น๊ณผ ์‚ญ์ œ
colors = ['red', 'blue', 'green']
colors[0] = 'pink'
colors

#['pink', 'blue', 'green']

del colors[2]
colors

#['pink', 'blue']

 
6)ํŒจํ‚น๊ณผ ์–ธํŒจํ‚น

t = [1, 2, 3]
a, b, c = t
print(t, a, b, c)

[1, 2, 3] 1 2 3

ํŒจํ‚น์€ ํ•œ ๋ณ€์ˆ˜์— ์—ฌ๋Ÿฌ ๊ฐ’์„ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ(๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ๊ณผ ๋‹ค๋ฅผ ๊ฒƒ์ด ์—†๋‹ค)
์–ธํŒจํ‚น์€ ์—ฌ๋Ÿฌ ๊ฐ’์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋‚˜๋ˆ„์–ด ํ• ๋‹นํ•˜๋Š” ๊ฒƒ
t๊ฐ€ ๊ฐ€์ง„ ๊ฐ’์˜ ๊ฐœ์ˆ˜์™€ t๋ฅผ ์–ธํŒจํ‚นํ•˜๋Š” ๊ฐ’์˜ ์ˆ˜๊ฐ€ ๋‹ค๋ฅด๋ฉด ์˜ค๋ฅ˜
 
7)์ด์ฐจ์› ๋ฆฌ์ŠคํŠธ
ํ–‰๋ ฌ๊ณผ ๋น„์Šทํ•œ ๊ฐœ๋…์œผ๋กœ ํ‘œ์— ๊ฐ’์„ ์ฑ„์› ์„ ๋•Œ ์ƒ๊ธฐ๋Š” ๊ฐ’๋“ค์˜ ์ง‘ํ•ฉ

 ABCDE
๊ตญ์–ด ๋“ฑ๊ธ‰13579
์ˆ˜ํ•™ ๋“ฑ๊ธ‰24688
์˜์–ด ๋“ฑ๊ธ‰12345
kor = [1, 3, 5, 7, 9]
math = [2, 4, 6, 8, 8]
eng = [1, 2, 3, 4, 5]

grades = [kor, math, eng]
grades

#[[1, 3, 5, 7, 9], [2, 4, 6, 8, 8], [1, 2, 3, 4, 5]]
print(grades[1][0])
#2

์ˆ˜ํ•™์„ฑ์ (์ธ๋ฑ์Šค๊ฐ’ 1์ธ ํ–‰) ์ค‘์—์„œ Aํ•™์ƒ(์ธ๋ฑ์Šค๊ฐ’ 0์ธ ์—ด)์˜ ๊ฒƒ์ด ์ถœ๋ ฅ๋จ
 

04 ๋ฆฌ์ŠคํŠธ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋ฐฉ์‹

name = ['kim', 'lee']
age = [23, 48]
height = [220, 150]

info = [name, age, height]
info

#[['kim', 'lee'], [23, 48], [220, 150]]

height[0] = 180 #220์—์„œ 180์œผ๋กœ ๋ณ€๊ฒฝ
info

#[['kim', 'lee'], [23, 48], [180, 150]]

height์˜ ๊ฐ’๋งŒ ๋ณ€๊ฒฝํ–ˆ๋Š”๋ฐ๋„ ์ž๋™์œผ๋กœ info์˜ ๊ฐ’์—๋„ ๋ฐ˜์˜๋จ
 
๐Ÿ’ก๋ฆฌ์ŠคํŠธ๋ฅผ ์ €์žฅํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ €์žฅ

a = [3,2,1]
b = [1,2,3]
b = a
print(b)

#[3, 2, 1]
b = a

a.sort() #์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ
print(b)

#[1, 2, 3]

์ •๋ ฌํ•œ ๊ฒƒ์€ a์ธ๋ฐ b๊นŒ์ง€ ๋œ ์ด์œ  ์—ญ์‹œ b = a๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ b๊ฐ€ a์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ €์žฅ

b.append(9)
print(a)

#[1, 2, 3, 9]

 
๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜๋ฏ€๋กœ ํ•œ ์ชฝ์˜ ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๋‹ค๋ฅธ ์ชฝ์—๋„ ์˜ํ–ฅ์„ ์คŒ
๊ทธ๋Ÿฌ๋‚˜ ์ƒˆ๋กœ์šด ๊ฐ’์„ ํ• ๋‹นํ•˜๋ฉด ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ํ• ๋‹น๋ฐ›์œผ๋ฏ€๋กœ ๋” ์ด์ƒ ์„œ๋กœ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Œ