Skip to content

Latest commit

ย 

History

History
1372 lines (933 loc) ยท 22.5 KB

File metadata and controls

1372 lines (933 loc) ยท 22.5 KB
description ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ์‹ค๊ธฐ๋ฅผ ์œ„ํ•œ ํŒŒ์ด์ฌ ์ •๋ฆฌํ•œ ๊ธ€

์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ์‹ค๊ธฐ๋ฅผ ์œ„ํ•œ ํŒŒ์ด์ฌ ์ •๋ฆฌ(์•ฝ๊ฐ„์˜ ์ ‘์ˆ˜ ํ›„๊ธฐ๋ฅผ ๊ณ๋“œ๋ฆฐ)

Tmi

์ด๋ฒˆ์— ๋–จ์–ด์ง€๋ฉด ๋‹ค์‹œ... ํ•„๊ธฐ๋ถ€ํ„ฐ ๋‹ค์‹œ ๋ด์•ผ ํ•œ๋‹ค.. ์ ˆ๋Œ€ ์•ˆ๋ผ ใ… ใ… ใ… ใ… ใ… ใ… ใ… ใ… 

์™€.. ์ ‘์ˆ˜๋ถ€ํ„ฐ ๋„ˆ๋ฌด ํž˜๋“ค์—ˆ๋‹ค.

ํ‰์ผ 10์‹œ๋ผ์„œ ํšŒ์‚ฌ์—์„œ ์ ‘์ˆ˜ํ•ด์•ผ ํ•˜๋Š”๋ฐ ใ…Ž... ์‹ฌ์ง€์–ด ์„œ๋ฒ„ ํ„ฐ์ ธ๊ฐ€์ง€๊ณ  ์ ์‹ฌ์‹œ๊ฐ„์—๋„ ๋ถ™์žก๊ณ  ์žˆ์—ˆ๋˜ ๊ฑฐ ใ„นใ…ˆใ„ท

ํŠธ์œ„ํ„ฐ์— ์‚ฌ๋žŒ๋“ค ๋‹ค ์š•ํ•˜๊ณ  ใ…‹ใ…‹ใ…‹ใ…‹ ๋ฌด์Šจ ๋‹จ๊ณ„๋ณ„๋กœ ๋Š๊ฒจ์„œ ์—ด๋ฐ›์•˜์—ˆ๋‹ค ์ง„์งœ๋กœ

์ด๋ฒˆ์— ๊ทผ์ฒ˜ ์ ‘์ˆ˜ ๋ชปํ•ด์„œ ๋ฉ€๋ฆฌ ๊ฐ€๋Š” ์‚ฌ๋žŒ๋“ค๋„ ๋งŽ๋˜๋ฐ..ใ…‹ใ…‹ใ…‹ ์ด๋ฒˆ์—๊ฐ€ ๋” ํ„ฐ์ง„ ์ด์œ ๊ฐ€

์ด๋ผ๊ณ .. ใ…‹ใ…‹ใ…‹...

ํ‹ฐ์ผ“ํŒ… ๊ฐ™์€ ์ •์ฒ˜๊ธฐ ์‹ค๊ธฐ๋ฅผ ๋‹ค์‹œ ์•ˆ๋ณด๊ธฐ ์œ„ํ•ด์„œ ์ด๋ฒˆ์— ๋๋‚ธ๋‹ค

ํŒŒ์ด์ฌ ์ •๋ฆฌ

01. ๋ฐ์ดํ„ฐ ํƒ€์ž…

1) ๋ณ€์ˆ˜

  • ๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๋Š” ๊ทธ๋ฆ‡

๋ณ€์ˆ˜์˜ ์ด๋ฆ„ ๊ทœ์น™(Rule)

  • ์†Œ๋ฌธ์ž(a-z)
  • ๋Œ€๋ฌธ์ž(A-Z)
  • ์ˆซ์ž(0-9)
  • ํ•œ๊ธ€๋„ ๊ฐ€๋Šฅ
  • ํŠน์ˆ˜๊ธฐํ˜ธ๋Š” ์–ธ๋”๋ฐ”(_)๋งŒ ํ—ˆ์šฉ

๋‹ค์Œ์˜ ๊ทœ์น™์„ ๊ฐ€์ง

  • ๋Œ€์†Œ ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค.
  • ์ˆซ์ž๋Š” ๋งจ ์ฒ˜์Œ์— ์˜ฌ ์ˆ˜ ์—†๋‹ค.
  • ์˜ˆ์•ฝ์–ด๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

2) ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…

์ฃผ์š” ๋ฐ์ดํ„ฐ ํƒ€์ž…

  1. int
  2. float
  3. str
  4. bool

type()

  • type ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ํƒ€์ž…์„ ์•Œ์•„ ๋ณผ ์ˆ˜ ์žˆ์Œ

None ํƒ€์ž…

  • ๋ง ๊ทธ๋Œ€๋กœ ์•„๋ฌด ๊ฒƒ๋„ ์•„๋‹Œ ํ”ํžˆ null ๊ฐ’์„ ๋„ฃ๋Š”๋‹ค๊ณ  ํ•จ
  • Null : Nullify (๋ฌดํšจํ™”ํ•˜๋‹ค)

3) ํƒ€์ž… ๋ณ€ํ™˜

  • int๋ฅผ float๋กœ ๋ณ€ํ™˜ํ•œ ๊ฒฝ์šฐ
a = 1
type(a)
float(a) # ์ •์ˆ˜ a๋ฅผ float๋กœ ๋ฐ”๊ฟˆ 1.0
  • float๋ฅผ int๋กœ ๋ณ€ํ™˜ํ•œ ๊ฒฝ์šฐ : ๋ฐ˜์˜ฌ๋ฆผ์ด ์•„๋‹Œ ๊ฐ’์ด ๋ฒ„๋ฆผ๋˜์–ด ์ง„๋‹ค.
b = 3.99
int(b) # 3
  • bool์„ int๋กœ ๋ณ€ํ™˜ํ•œ ๊ฒฝ์šฐ
c = True
int(c) # 1

02. ๋ฆฌ์ŠคํŠธ(List), ํŠœํ”Œ(Tuple)

๋ถ„๋ฅ˜ ํƒ€์ž… ํŠน์ง• ์˜ˆ์‹œ
์‹œํ€ธ์Šค(sequence) ๋ฆฌ์ŠคํŠธ(list) ์ˆœ์„œ๊ฐ€ ์žˆ๊ณ , ๊ฐ€๋ณ€(mutable) [1, 2, 3]
์‹œํ€ธ์Šค(sequence) ํˆฌํ”Œ(tuple) ์ˆœ์„œ๊ฐ€ ์žˆ๊ณ , ๋ถˆ๋ณ€(immutable) (1, 2, 3)
์„ธํŠธ(set) ์„ธํŠธ(set) ์ˆœ์„œ๊ฐ€ ์—†๊ณ , ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ {1, 2, 3}
๋งต(map) ๋”•์…”๋„ˆ๋ฆฌ(dictionary) ์ˆœ์„œ๊ฐ€ ์—†๊ณ , key/value ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง {โ€˜aโ€™ : 1, โ€˜bโ€™ : 2, โ€˜cโ€™ : 3}

์ถœ์ฒ˜ : https://wikidocs.net/137565

1) ๋ฆฌ์ŠคํŠธ

  • ๋ฆฌ์ŠคํŠธ๋Š” ๋ฐ์ดํ„ฐ์˜ ์š”์†Œ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ํŒŒ์•…ํ•˜๋Š”๋ฐ ์šฉ์ดํ•œ ์ž๋ฃŒํ˜•
  • ๋ฆฌ์ŠคํŠธ๋Š” ๋‹ค์–‘ํ•œ ๋ฉ”์„œ๋“œ ํ˜น์€ ํ•จ์ˆ˜๋ฅผ ์ง€์›ํ•˜๋ฉฐ, ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€, ์‚ญ์ œ, ๋ณ€๊ฒฝ ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ƒ์„ฑ๊ณผ ์ถœ๋ ฅ

  • ํ˜•ํƒœ๋กœ ํ‘œํ˜„
  • ๋นˆ ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ
mylist = []
mylist # []

๊ทœ์น™

  • list๋Š” ๋‹ค์–‘ํ•œ type์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ง‘ํ•ฉ์œผ๋กœ ๊ฐ€์ง„๋‹ค
  • list์•ˆ์— list๋„ ํ—ˆ์šฉ
  • list๋Š” ์ˆœ์„œ์˜ ๊ฐœ๋…์ด ์กด์žฌ
  • ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด []๊นŒ์ง€ ํฌํ•จ

๊ด€๋ จ ํ•จ์ˆ˜

  • .์  ์—ฐ์‚ฐ์ž๋กœ ํ•จ์ˆ˜ ์‹คํ–‰ ๊ฐ€๋Šฅ
  • ํ•จ์ˆ˜๋Š” ์–ด๋–ค ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋ชจ์•„ ์ด๋ฆ„์„ ๋ถ™์ธ ๊ฒƒ

1. append : ๊ฐ’ ์ถ”๊ฐ€

  • ๊ฐ’์„ ๋ฆฌ์ŠคํŠธ์˜ ๋งจ ๋’ค์— ์ถ”๊ฐ€
mylist = []
mylist.append(1)
mylist # [1]
  • ์ค‘๋ณต๋œ ๊ฐ’์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ˆœ์„œ๊ฐ€ ์œ ์ง€
mylist.append(7)
mylist.append(7)
mylist.append(7)
mylist.append(3)
mylist.append(5)
mylist.append(2)
mylist

[์ถœ๋ ฅ]

[1, 7, 7, 6, 3, 5, 2]

2. sort() : ์ •๋ ฌ

  • ์š”์†Œ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ(์˜ค๋ฆ„์ฐจ์ˆœ)
  • sort()๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ์ •๋ ฌ
mylist = [1, 6, 3, 2, 7, 5, 4]
mylist.sort()
mylist

[์ถœ๋ ฅ]

[1, 2, 3, 4, 5, 6, 7]
  • ์—ญ์ •๋ ฌ๋„ ๊ฐ€๋Šฅ (reverse = True)
mylist = [1, 6, 3, 2, 7, 5, 4]
mylist.sort(reverse=True)
mylist

[์ถœ๋ ฅ]

[7, 6, 5, 4, 3, 2, 1]

3. sorted() ์ •๋ ฌ

  • ์š”์†Œ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ
  • ๋‚ด๋ถ€์ ์œผ๋กœ ์ •๋ ฌํ•˜์ง€ ์•Š๊ณ  ์ •๋ ฌ๋œ ๋ณต์‚ฌ๋ณธ ๋ฐ˜ํ™˜
  • ์ฆ‰, ์›๋ณธ ๋ฐ์ดํ„ฐ๋Š” ์ •๋ ฌ x
mylist = [1, 6, 3, 2, 7, 5, 4]
sorted(mylist) # [1, 2, 3, 4, 5, 6, 7]
mylist # [1, 6, 3, 2, 7, 5, 4]
  • reverse=True๋ฅผ ์ง€์ •ํ•˜์—ฌ ์—ญ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์Œ
mylist = [1, 6, 3, 2, 7, 5, 4]
sorted(mylist, reverse=True) # [7, 6, 5, 4, 3, 2, 1]

4. reverse() : ์—ญ์ •๋ ฌ

  • ์ •๋ ฌ ํ›„ ์—ญ์ •๋ ฌ์ด ์•„๋‹Œ ๋ฐ”๋กœ ์—ญ์ •๋ ฌ
mylist.reverse()
mylist # [4, 5, 7, 2, 3, 6, 1]

5. len() : ์ „์ฒด ํ•ญ๋ชฉ์˜ ๊ฐœ์ˆ˜ ์„ธ๊ธฐ

mylist = [1, 6, 3, 2, 7, 5, 4]
len(mylist) # 7

6. insert() : ๊ฐ’ ์ถ”๊ฐ€

  • insert๋Š” ์ง€์ •๋œ index์— ๊ฐ’ ์ถ”๊ฐ€
mylist.insert(1, 100)
mylist # [1, 100, 6, 3, 2, 7, 5, 4]

7. remove() : ๊ฐ’ ์ œ๊ฑฐ

  • ๋ฆฌ์ŠคํŠธ์—์„œ ์ฒซ ๋ฒˆ์งธ ๋‚˜์˜ค๋Š” ํ•ด๋‹น ๊ฐ’ ์ œ๊ฑฐ
mylist.remove(7)
mylist # [1, 100, 6, 3, 2, 5, 4]

8. pop() : ์š”์†Œ ๊บผ๋‚ด๊ธฐ

  • ํ•ด๋‹น ๋ฒˆ์งธ์˜ ์š”์†Œ๋ฅผ ๋Œ๋ ค์ฃผ๊ณ  ์‚ญ์ œ
mylist.pop(1) # 100
mylist # [1, 6, 3, 2, 5, 4]

9. count() : ๊ฐฏ์ˆ˜ ์„ธ๊ธฐ

  • ํ•ด๋‹น ์ˆซ์ž์˜ ๊ฐœ์ˆ˜ ์„ธ๊ธฐ
a = [1, 1, 1, 1, 1, 2, 2, 3]
a.count(1) # 5

10. extend() : ๋ฆฌ์ŠคํŠธ ํ™•์žฅ

a = [1, 2, 3]
a.extend([4, 5])
a # [1, 2, 3, 4, 5]
    • ์—ฐ์‚ฐ์ž๋Š” extemd()์™€

๋ฆฌ์ŠคํŠธ ๊ฒ€์ƒ‰

list = [1, 2, 3, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4]
print(list.index(2)) # 1(์ฒซ 2์˜ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ)
print(list.count(2)) # 3

2) ์ธ๋ฑ์‹ฑ, ์Šฌ๋ผ์ด์‹ฑ

์ธ๋ฑ์‹ฑ : ์ƒ‰์ธ

mylist = ['P', 'Y', 'T', 'H', 'O', 'N']

์ธ๋ฑ์Šค๋Š” 0๋ฒˆ ๋ถ€ํ„ฐ ์‹œ์ž‘

  • ๋ฆฌ์ŠคํŠธ์˜ ๋ฌธ์ž์—ด์€ โ€˜'๊นŒ์ง€ ์ถœ๋ ฅ
mylist[0] #'P'

์—ญ์ˆœ ์ธ๋ฑ์‹ฑ

  • ํŒŒ์ด์ฌ์€ ์Œ์ˆ˜ ์ธ๋ฑ์‹ฑ ์ง€์›
mylist[-1] #'N'

์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผํ•˜์—ฌ ๊ฐ’ ๋ฐ”๊พธ๊ธฐ

mylist = [10, 20, 30, 40, 50]
mylist[0] = 999
mylist # [999, 20, 30, 40, 50]

์ค‘์ฒฉ๋œ ๋ฆฌ์ŠคํŠธ ์ธ๋ฑ์‹ฑ

  • ์ค‘์ฒฉ๋œ ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•œ ๋ฆฌ์ŠคํŠธ๋Š” ์ค‘์ฒฉ ์ธ๋ฑ์‹ฑ์œผ๋กœ ์ ‘๊ทผํ•˜๋ฉฐ, ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅ
mylist = [['๊ฐ€', '๋‚˜', '๋‹ค'], [4, 5, 6], 7, 8, 9]
mylist[1] # [4, 5, 6]
mylist[1][1] # 5

์Šฌ๋ผ์ด์‹ฑ(Slicing): ๋ฒ”์œ„ ์ถ”์ถœ

  • ์Šฌ๋ผ์ด์‹ฑ์˜ ํ™œ์šฉ: [start:stop:step] ์„ ๋ช…์‹œํ•˜์—ฌ ๋ถ€๋ถ„์„ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • [start:]๋Š” ์‹œ์ž‘ index ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. end๊ฐ€ ๋ช…์‹œ ์•ˆ๋˜์–ด ์žˆ๋‹ค๋ฉด ๋
mylist = [100, 200, 300, 400, 500]
mylist[2:] # [300, 400, 500]
  • [:end]๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ end ์ „๊นŒ์ง€ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. end๊ฐ€ ๋ช…์‹œ๋˜์–ด ์žˆ๋‹ค๋ฉด end-1๊นŒ์ง€ ์ถœ๋ ฅ
mylist[:3] # [100, 200, 300]

indexing ์— step ํ™œ์šฉํ•˜๊ธฐ

mylist = [100, 200, 300, 400, 500]
mylist[::2] # [100, 300, 500]
mylist[::-2] # [500, 300, 100]

list ๋ง์…ˆ: list ํ™•์žฅ

a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
a + b # [1, 2, 3, 4, 5, 6, 7, 8]

list ๊ณฑ์…ˆ: list ๋ฐ˜๋ณต

a = ['a', 'b', 'c']
b = [1, 2, 3, 4]
a * 2 # ['a', 'b', 'c', 'a', 'b', 'c']

์ฐธ๊ณ ๋กœ **print(fruit[7:])**๋ฅผ ํ•ด์ค˜์•ผ ์ถœ๋ ฅ ๋˜๋Š”๊ฑฐ์ž„

์—ฐ์Šต๋ฌธ์ œ

sample = [1, 2, 3, 4, 5, 6, 7, 8]
sample[::-1] # [8, 7, 6, 5, 4, 3, 2, 1]
sample[-1:] #[8]

3) ํŠœํ”Œ

  • ๋ฆฌ์ŠคํŠธ(list)๋Š” ๊ฐ€๋ณ€(mutable)ํ•˜๋Š” ๊ฐ์ฒด(object)์ด์ง€๋งŒ, ํŠœํ”Œ(tuple)์€ ๋ถˆ๋ณ€(immutable)ํ•œ ๊ฐ์ฒด
  • ๊ฐ€๋ณ€ ๊ฐ์ฒด๋Š” ์š”์†Œ์— ๋Œ€ํ•œ ์ˆ˜์ •, ์‚ญ์ œ, ๋ณ€๊ฒฝ ๋“ฑ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๋ถˆํŽธ ๊ฐ์ฒด๋Š” ์š”์†Œ์— ๋Œ€ํ•œ ์ˆ˜์ •, ์‚ญ์ œ, ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€

์ƒ์„ฑ

  • tuple(), () ๋กœ ์ƒ์„ฑ
  • ํ˜น์€ , ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
mytuple = (1, 2, 3)
mytuple # (1, 2, 3)
mytuple2 = 1, 2, 3
mytuple2 # (1, 2, 3)

๋‹จ์ผ ์š”์†Œ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ ,๋ฅผ ๋ถ™์—ฌ ์ค๋‹ˆ๋‹ค.

  • (1,)๊ณผ (1)์€ ๋‹ค๋ฅธ ์ž๋ฃŒ๊ตฌ์กฐ์ž„์„ ๊ผญ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
mytuple = 1,
print(type(mytuple))
mytuple # (1,)

class 'tuple'

mytuple = 1
print(type(mytuple))
mytuple # 1

class 'int'

ํŠœํ”Œ ์ž๋ฃŒํ˜•์€ ์š”์†Œ์˜ ์ถ”๊ฐ€, ์‚ญ์ œ, ๋ณ€๊ฒฝ๋“ฑ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌ์ŠคํŠธ๋กœ ๋ฐ”๊พธ๊ณ  ์š”์†Œ ์ถ”๊ฐ€ ์‚ญ์ œ ๋ณ€๊ฒฝ ํ›„ ๋‹ค์‹œ ํŠœํ”Œ๋กœ ๋ฐ”๊ฟ”์ค˜์•ผ ํ•จ
a = (1, 2, 3, 4)
a = list(a)
a.insert(1, 100)
tuple(a)

03. ์„ธํŠธ(Set), ๋”•์…”๋„ˆ๋ฆฌ(Dictionary)

1) ์„ธํŠธ(Set)

  • ์„ธํŠธ๋Š” ์ˆœ์„œ๊ฐ€ ๋ณด์žฅ ๋˜์ง€ ์•Š๋Š”๋‹ค.
  • ์„ธํŠธ๋Š” ์š”์†Œ์˜ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ์„ธํŠธ๋Š” **{}**๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

์ƒ์„ฑ

์ฐธ๊ณ ๋กœ ์›๋ž˜ myset๋งŒ ํ•˜๋ฉด ์ถœ๋ ฅ nono print(myset)ํ•ด์ค˜์•ผ ํ•จ

myset = set([1, 1, 1, 2, 2, 2, 3, 3, 3])
myset # {1, 2, 3} 

add() : ๊ฐ’ ์ถ”๊ฐ€

  • set์— ์š”์†Œ๋ฅผ ์ถ”๊ฐ€
myset = set()
myset.add(1)
myset.add(2)
myset.add(3)

myset.add(1)
myset.add(2)
myset.add(3)

myset.add(1)
myset.add(2)
myset.add(3)
myset # {1, 2, 3}

update() : ์—ฌ๋Ÿฌ๊ฐœ ๊ฐ’ ์ถ”๊ฐ€

  • list์˜ ์š”์†Œ๋“ค์„ ํ•œ๊บผ๋ฒˆ์— update
myset = {1, 2, 3}
myset.update([4, 5, 6])
myset # {1, 2, 3, 4, 5, 6}
  • tuple์˜ ์š”์†Œ๋“ค์„ ํ•œ๊บผ๋ฒˆ์— update
myset.update((7, 8, 9))
myset # {1, 2, 3, 4, 5, 6, 7, 8, 9}
  • set์˜ ์š”์†Œ๋“ค์„ ํ•œ๊บผ๋ฒˆ์— update
myset.update({10, 11, 12})
myset # {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}

remove() : ๊ฐ’ ์ œ๊ฑฐ

myset = {1, 2, 3, 4, 5}
myset.remove(2)
myset # {1, 3, 4, 5}

๊ต์ง‘ํ•ฉ (intersection)

a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 6, 7}
a & b 
a.intersection(b)

[์ถœ๋ ฅ]

{3, 4, 5}

ํ•ฉ์ง‘ํ•ฉ (union)

  • ํ•ฉ์ง‘ํ•ฉ์€ ์ง‘ํ•ฉ A์™€ B๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ์ง‘ํ•ฉ A, B ์š”์†Œ ๋ชจ๋‘๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.
  • |๊ธฐํ˜ธ๋‚˜ union() ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ•ฉ์ง‘ํ•ฉ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.
a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 6, 7}
a | b
a.union(b) 

[์ถœ๋ ฅ]

{1, 2, 3, 4, 5, 6, 7}

์ฐจ์ง‘ํ•ฉ (difference)

a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 6, 7}
a - b
a.difference(b)

[์ถœ๋ ฅ]

{1, 2}

discard : set์—์„œ ํ•ด๋‹น ๊ฐ’ ์ œ๊ฑฐ ์˜ค๋ฅ˜ ๋ฐœ์ƒ x

my_set = {3, 5, 7, 9}
my_set.add(5)
my_set.add(2)
my_set.add(8)
my_set.discard(7)

2) ๋”•์…”๋„ˆ๋ฆฌ(Dictionary)

  • ์ˆœ์„œ๋ฅผ ๊ฐ€์ง€์ง€ ์•Š๋Š”๋‹ค.
  • ํ‚ค(key)์™€ ๊ฐ’(value)์˜ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.
  • type์€ dict๋กœ ํ‘œ์‹œ ๋œ๋‹ค.
  • key๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋”•์…”๋„ˆ๋ฆฌ๋Š” ์ˆ˜์ •, ์‚ญ์ œ, ์ถ”๊ฐ€๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๋”•์…”๋„ˆ๋ฆฌ๋Š” ์—ฌ๋Ÿฌ ํƒ€์ž…์˜ key๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.
mydict = {'a': 1, '๊ฐ€':2, 100: 3, 3.14: 4, True: 5}
mydict # {'a': 1, '๊ฐ€': 2, 100: 3, 3.14: 4, True: 5}

๊ฐ’ ์กฐํšŒ

  • key ๊ฐ’์œผ๋กœ ๊ฐ’์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.
mydict = {'a': 1, '๊ฐ€':2, 100: 3, 3.14: 4, True: 5}
mydict['a'] # 1

keys() : ๋ชจ๋“  key ์กฐํšŒ

mydict.keys() 

[์ถœ๋ ฅ]

dict_keys(['a', 'b', 'c', 'd', 'e'])

[์ฐธ๊ณ ] dict_keys

  • dict_keys๋Š” ๋ฆฌ์ŠคํŠธ(list)๊ฐ€ ์•„๋‹˜
  • ๊ฐ์ฒด(object)๋กœ ์ƒ์„ฑ๋˜๋Š”๋ฐ, ์ด๋ฅผ list๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” list()๋กœ ํƒ€์ž… ๋ณ€ํ™˜์„ ํ•˜๋ฉด ๋œ๋‹ค.
list(mydict.keys())

[์ถœ๋ ฅ]

['a', 'b', 'c', 'd', 'e']

values() : ๋ชจ๋“  value ์กฐํšŒ

mydict.values() # dict_values([100, 200, 300, 400, 500])

items() : ๋ชจ๋“  key, value ์กฐํšŒ

  • key, value๊ฐ€ ํŠœํ”Œ๋กœ ๋ฌถ์—ฌ์„œ ์กฐํšŒ
mydict.items()

[์ถœ๋ ฅ]

dict_items([('a', 100), ('b', 200), ('c', 300), ('d', 400), ('e', 500)])

key ๊ฐ’์˜ ์กด์žฌ ์œ ๋ฌด ํ™•์ธ

'a' in mydict # True

๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๊ธฐ

mydict = dict()
mydict
mydict['apple'] = 123
mydict['apple'] #123

update() : ๋‹ค์ค‘ ์—…๋ฐ์ดํŠธ

mydict = {'ํŒŒ์ธ์• ํ”Œ': 1500, '๋ง๊ณ ': 3500, '๋ฐฐ': 1000}
fruit = {
    '์‚ฌ๊ณผ': 2000, 
    '๋”ธ๊ธฐ': 3000, 
    '์ˆ˜๋ฐ•': 5000, 
}
mydict.update(fruit)
mydict # {'ํŒŒ์ธ์• ํ”Œ': 1500, '๋ง๊ณ ': 3500, '๋ฐฐ': 1000, '์‚ฌ๊ณผ': 2000, '๋”ธ๊ธฐ': 3000, '์ˆ˜๋ฐ•': 5000}

๊ฐ’ ๋ณ€๊ฒฝ

  • key ๊ฐ’์— ์ƒˆ๋กœ์šด ๊ฐ’(value)๋ฅผ ๋Œ€์ž…ํ•˜์—ฌ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.
mydict = {'a': 100, 'b': 200, 'c': 300, 'd': 400, 'e': 500}
mydict['a'] = 900 
mydict # {'a': 900, 'b': 200, 'c': 300, 'd': 400, 'e': 500}

์ œ๊ฑฐํ•˜๊ธฐ / key ์ œ๊ฑฐ

pop() ์— key๋ฅผ ์ง€์ •ํ•˜์—ฌ ๊ฐ’์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์ œ๊ฑฐ๋˜๋Š” ๊ฐ’์˜ value๋ฅผ ๋ฐ˜ํ™˜

mydict = {'a': 100, 'b': 200, 'c': 300, 'd': 400, 'e': 500}
mydict
mydict.pop('b') # 200
del mydict['a'] # a์˜ ํ‚ค ์‚ญ

len() : ์š”์†Œ์˜ ๊ฐœ์ˆ˜ ํŒŒ์•…

len(mydict) # 3

4. ๋ฌธ์ž์—ด(String)

1) ํฌ๋งทํŒ…, ๊ธธ์ด, ์ธ๋ฑ์‹ฑ, ์Šฌ๋ผ์ด์‹ฑ

%๋ฅผ ์‚ฌ์šฉํ•œ ์ถœ๋ ฅ

%s -> ๋ฌธ์ž์—ด

%d -> ์ •์ˆ˜

%f -> ์‹ค์ˆ˜

%c : ๋ฌธ์ž 1๊ฐœ

"์•ˆ๋…•ํ•˜์„ธ์š”? %s" % ('๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค.') # '์•ˆ๋…•ํ•˜์„ธ์š”? ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค.'
'์•ˆ๋…•ํ•˜์„ธ์š”? %d' % (12345) # '์•ˆ๋…•ํ•˜์„ธ์š”? 12345'
'์•ˆ๋…•ํ•˜์„ธ์š”? %.4f' % (0.123456) # '์•ˆ๋…•ํ•˜์„ธ์š”? 0.1235'
'์•ˆ๋…•ํ•˜์„ธ์š”? %c' % ('a') # '์•ˆ๋…•ํ•˜์„ธ์š”? a'

{} ์™€ format๋ฅผ ์‚ฌ์šฉํ•œ ์ถœ๋ ฅ

'์›ฐ์ปดํˆฌ? {}'.format('ํŒŒ์ด์ฌ.') # **'์›ฐ์ปดํˆฌ? ํŒŒ์ด์ฌ.'
'์›์ฃผ์œจ? {:.2f}'.format(3.141592) # '์›์ฃผ์œจ? 3.14'**

๋ฌธ์ž์—ด ๊ธธ์ด

  • ๊ณต๋ฐฑ์€ ๊ธธ์ด์— ํฌํ•จ
len('banana pen') # 10

2) ๋ฌธ์ž์—ด(ํ…์ŠคํŠธ)๋ฅผ ๋‹ค๋ฃจ๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ

split() : ๋ถ„๋ฆฌ

  • split์€ ๋ฌธ์žฅ์„ ํŠน์ • ๊ทœ์น™์— ์˜ํ•ด ์ชผ๊ฐœ ์ฃผ๋Š” ๊ธฐ๋Šฅ
  • ๋ถ„๋ฆฌํ•œ ๊ฒฐ๊ณผ๋Š” list ํ˜•์‹์œผ๋กœ ๊ฐ’์„ return ๋ฐ›๋Š”๋‹ค.
a = 'This is a pen'

๊ธฐ๋ณธ ๊ฐ’์œผ๋กœ ๊ณต๋ฐฑ์ด ์ง€์ •๋˜์–ด ์žˆ๋‹ค. ์ฆ‰, ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋กœ ๋ฐ˜ํ™˜

a.split() #['This', 'is', 'a', 'pen']

๊ธฐ๋ณธ ๊ฐ’์ธ ๊ณต๋ฐฑ์—์„œ ํŠน์ • ๋ฌธ์ž๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

a = 'This-is-a-pen'
a.split('-') # ['This', 'is', 'a', 'pen']

join() : ํ•ฉ์น˜๊ธฐ

  • ๊ฒฐํ•ฉํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ž์— .join() ์•ˆ์— ๋ฆฌ์ŠคํŠธ๋ฅผ ์ง€์ •ํ•˜์—ฌ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ๋‹ค.
'-'.join(['010',  '1234', '5678']) # '010-1234-5678'

lower(), upper() : ์†Œ๋ฌธ์ž / ๋Œ€๋ฌธ์ž๋กœ ๋งŒ๋“ค๊ธฐ

  • ๋‚ด๋ถ€๊ฐ€ ๋ณ€ํ™˜์ด ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹˜ a =์œผ๋กœ ๋„ฃ์–ด์ค˜์•ผํ•จ
a = 'My name is Teddy'
a.lower() # 'my name is teddy'
a.upper() # **'MY NAME IS TEDDY'**

startswith() : ์‹œ์ž‘ํ•˜๋Š”

  • ์ง€์ •ํ•œ ๋ฌธ์ž์—ด๋กœ ์‹œ์ž‘ํ•˜๋ฉด True, ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด False๋ฅผ ๋ฐ˜ํ™˜
a.startswith('01')

[์ถœ๋ ฅ]

True

endswith() : ๋๋‚˜๋Š”

  • ์ง€์ •ํ•œ ๋ฌธ์ž์—ด๋กœ ๋๋‚˜๋ฉด True, ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด False๋ฅผ ๋ฐ˜ํ™˜
a.endswith('.png')

[์ถœ๋ ฅ]

True

4) Replace() : ๋ฌธ์ž์—ด ๋ฐ”๊พธ๊ธฐ, ๊ณต๋ฐฑ ์ œ๊ฑฐ

  • ๋ฌธ์ž์—ด์— replace(๋ฐ”๊ฟ€ ๋Œ€์ƒ, ๋ฐ”๊พธ๋ ค๋Š” ๋ฌธ์ž์—ด) ์ง€์ •ํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ๋ณ€๊ฒฝ
  • ๊ฒฐ๊ณผ๋Š” ๋ณต์‚ฌ๋ณธ์ด ๋งŒ๋“ค์–ด์ ธ ๋ฐ˜ํ™˜
a = '01-sample.png'
a.replace('.png', '.jpg') # '01-sample.jpg'

strip() : ์–‘์ชฝ ๊ณต๋ฐฑ ์ œ๊ฑฐ

a.strip() # '01-sample.png'

lstrip() : ์™ผ์ชฝ ๊ณต๋ฐฑ ์ œ๊ฑฐ

rsreip : ์˜ค๋ฅธ์ชฝ ๊ณต๋ฐฑ ์ œ๊ฑฐ

find : ๋ฌธ์ž์—ด์˜ ์ฒซ ์‹œ์ž‘ ์œ„์น˜๋ฅผ ๊ตฌํ•ด์คŒ

str ='hudndhj'
print(str.find('h')) # 0

5. ์—ฐ์‚ฐ

**1) ๊ธฐํƒ€ ์—ฐ์‚ฐ์ž (%, //, )

  • //: floor division ์—ฐ์‚ฐ์ž์ž…๋‹ˆ๋‹ค. ๋‚˜๋ˆ—์…ˆ์— ๋Œ€ํ•œ ๋ชซ์„ ์ •์ˆ˜ํ˜•์œผ๋กœ ๊ตฌํ•จ
  • %: modulus ์—ฐ์‚ฐ์ž์ž…๋‹ˆ๋‹ค. ๋ชซ์„ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•จ
  • *: ์ œ๊ณฑ ์—ฐ์‚ฐ
  • ์—ฐ์‚ฐ์‹œ ํƒ€์ž…(type)์ด ๋‹ค๋ฅด๋ฉด Error๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

6. ๋น„๊ต, ๋…ผ๋ฆฌ, ์‚ผํ•ญ์—ฐ์‚ฐ์ž

1) ์‚ผํ•ญ์—ฐ์‚ฐ์ž

(๋ฌธ๋ฒ•) (์ฐธ์ธ ๊ฐ’) if ์กฐ๊ฑด else (๊ฑฐ์ง“์ธ๊ฒฝ์šฐ ๊ฐ’)

age = 35

"30์„ธ ์ด์ƒ์ž…๋‹ˆ๋‹ค." if age >= 30 else "30์„ธ ์ดํ•˜์ž…๋‹ˆ๋‹ค." # '30์„ธ ์ด์ƒ์ž…๋‹ˆ๋‹ค.'

7. ๋ฐ˜๋ณต๋ฌธ

1) For์™€ In ๊ตฌ๋ฌธ

[๊ธฐ๋ณธ ๋ฌธ๋ฒ•]

for ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด์˜ฌ ๋•Œ ๋ณ€์ˆ˜ in [๊บผ๋‚ด์˜ฌ ์ง‘ํ•ฉ]:

(indent)

  • list, tuple, set, dictionary, ๋ฌธ์ž์—ด ํ˜•ํƒœ ๋ชจ๋‘ ๊ฐ€๋Šฅ
  • range์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

๋ฆฌ์ŠคํŠธ(list)

mylist = [1, 2, 3, 4, 5]
for i in mylist:
    print(i) 

[์ถœ๋ ฅ]

1
2
3
4
5

tuple + list

  • tuple์„ ์ „์ฒด๋กœ ๋ฐ›์•„์ฃผ๋Š” ๊ฒฝ์šฐ
person = ('์ œ์ด์ฝฅ์Šค', 10)
print(person)
print(person[0])
print(person[1])

[์ถœ๋ ฅ]

('์ œ์ด์ฝฅ์Šค', 10)
์ œ์ด์ฝฅ์Šค
10

  • tuple์˜ ์š”์†Œ๋ฅผ ๊ฐœ๋ณ„๋กœ ๋ฐ›์•„์ฃผ๋Š” ๊ฒฝ์šฐ
name, age = ('์ œ์ด์ฝฅ์Šค', 10)
print(name)
print(age)

[์ถœ๋ ฅ]

์ œ์ด์ฝฅ์Šค
10

  • ๋ฐ˜๋ณต๋ฌธ์—์„œ์˜ ์‘์šฉ
mytuplelist = [('์ œ์ด์ฝฅ์Šค', 10), ('ํ”ผํ„ฐ', 20), ('ํƒ€์ด๊ฑฐ', 30)]

for mytuplein mytuplelist:
    print(mytuple[0], mytuple[1])

[์ถœ๋ ฅ]

์ œ์ด์ฝฅ์Šค 10
ํ”ผํ„ฐ 20
ํƒ€์ด๊ฑฐ 30
mytuplelist = [('์ œ์ด์ฝฅ์Šค', 10), ('ํ”ผํ„ฐ', 20), ('ํƒ€์ด๊ฑฐ', 30)]

for name, agein mytuplelist:
    print(name, age)

[์ถœ๋ ฅ]

์ œ์ด์ฝฅ์Šค 10
ํ”ผํ„ฐ 20
ํƒ€์ด๊ฑฐ 30

๋”•์…”๋„ˆ๋ฆฌ(dictionary)

mydict = {'ํ—ํฌ': 50, '์•„์ด์–ธ๋งจ': 60, 'ํŽญ์ˆ˜': 70}
for keyin mydict.keys():
    print(key)

[์ถœ๋ ฅ]

ํ—ํฌ
์•„์ด์–ธ๋งจ
ํŽญ์ˆ˜
for valuein mydict.values():
    print(value)

[์ถœ๋ ฅ]

50
60
70
for name, agein mydict.items():
    print(name, age)

[์ถœ๋ ฅ]

ํ—ํฌ 50
์•„์ด์–ธ๋งจ 60
ํŽญ์ˆ˜ 70

๋ฌธ์ž์—ด(str)

for cin "Hello":
    print(c)

[์ถœ๋ ฅ]

H
e
l
l
o

Range

  • range() ํ•จ์ˆ˜๋Š” ๋ณ„๋„์˜ list, tuple ์ƒ์„ฑ ์—†์ด range() ์—์„œ ์ •์˜ํ•œ ๋ฒ”์œ„๋ฅผ ๋ฐ˜๋ณตํ•˜๋Š”๋ฐ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • range(start, stop, step) ํ˜•์‹์„ ์‚ฌ์šฉ
  • stop: ๋‹จ์ผ ๊ฐ’์„ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ
for iin range(10):
    print(i)

[์ถœ๋ ฅ]

0
1
2
3
4
5
6
7
8
9


  • start, stop: ๋‘ ๊ฐœ์˜ ๊ฐ’์„ ์ง€์ •ํ•œ ๊ฒฝ์šฐ
  • stop - 1 ์Šฌ๋ผ์ด์‹ฑ๊ณผ ๊ฐ™์Œ
for iin range(2, 9):
    print(i)

[์ถœ๋ ฅ]

2
3
4
5
6
7
8

start, stop, step: ์„ธ ๊ฐœ์˜ ๊ฐ’์„ ์ง€์ •ํ•œ ๊ฒฝ์šฐ

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

[์ถœ๋ ฅ]

1
3
5
7
9
  • print๋Š” ํ•œ์ค„์”ฉ ์ถœ๋ ฅ
  • ํ•œ ์นธ์”ฉ ์ถœ๋ ฅํ•˜๋ ค๋ฉด
print('์•ˆ๋…•', end=' ')

for i in range(5):
    print(i, end=' ')

8. ํ•จ์ˆ˜

1) Lambda : ์ต๋ช… ํ•จ์ˆ˜(Annonymous Function)

  • ์ด๋ฆ„ ์—†์ด ์ •์˜๋œ ํ•จ์ˆ˜ ์ž…๋‹ˆ๋‹ค.
  • **๋‹จ์ผ ๋ฌธ์žฅ(1์ค„)**์˜ ์ฝ”๋“œ๋กœ ์ž‘์„ฑ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ๋Š” return๋ฌธ์ด ํฌํ•จํ•˜์ง€ ์•Š์ง€๋งŒ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๋‹จ์ผ ์ธ์ˆ˜๋ฅผ ๊ฐ€์ง€๋Š” lambda ํ•จ์ˆ˜

a =lambda x: x * 2
a(4) # 8

2๊ฐœ์˜ ์ธ์ˆ˜๋ฅผ ๊ฐ€์ง€๋Š” lambda ํ•จ์ˆ˜

a =lambda x, y: x * y
a(4, 8) # 32

๊ธฐ๋ณธ ๊ฐ’์ด ์ง€์ •๋œ ์ธ์ˆ˜๋ฅผ ๊ฐ€์ง€๋Š” lambda ํ•จ์ˆ˜

a =lambda x, y=10: x * y
a(3) # 30

ํ‚ค์›Œ๋“œ ์ธ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋Š” lambda ํ•จ์ˆ˜

a(y=5, x=3)

[์ถœ๋ ฅ]

15


lambda ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์กฐ๊ฑด๋ฌธ ์‚ฌ์šฉ

a =lambda x, y: x * yif x > 0else y
a(4, 8) # 32

9. ๋‚ด์žฅํ•จ์ˆ˜(Built-in Function)

  • ํŒŒ์ด์ฌ์—๋Š” ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ๋‚ด์žฅํ•จ์ˆ˜(built-in function)๊ฐ€ ์กด์žฌ
  • ์ด๋ฏธ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” print(), type()์ด ํŒŒ์ด์ฌ์˜ ๋Œ€ํ‘œ์ ์ธ ๋‚ด์žฅํ•จ์ˆ˜

map

  • ๋ฌธ๋ฒ•: map(function, iterable)
  • map์€ ํ•จ์ˆ˜(f)์™€ ์ˆœํšŒ ๊ฐ€๋Šฅํ•œ(iterable) ์ž๋ฃŒํ˜•์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›๋‹ค.
  • map์€ ์ž…๋ ฅ๋ฐ›์€ ์ž๋ฃŒํ˜•์˜ ๊ฐ ์š”์†Œ๋ฅผ ํ•จ์ˆ˜(function)๊ฐ€ ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฌถ์–ด์„œ ๋Œ๋ ค
sample_data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

map๋งŒ ์‹คํ–‰์‹œ ์š”์†Œ์˜ ๋‚ด์šฉ์ด ๋ฐ”๋กœ ์ถœ๋ ฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

map(str, sample_data)

[์ถœ๋ ฅ]


list()๋กœ ํƒ€์ž… ๋ณ€ํ™˜ํ•˜์—ฌ ์š”์†Œ๋ฅผ ์ถœ๋ ฅ

list(map(str, sample_data))

[์ถœ๋ ฅ]

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

map์— lambda ํ•จ์ˆ˜ ์ ์šฉ

result = map(lambda x: x*2, sample_data)
list(result)

[์ถœ๋ ฅ]

[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

map์— ๋‹ค์ค‘ ์ธ์ˆ˜๋ฅผ ์ง€์ •

sample_data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sample_data_2 = [0, 1, 2, 3, 5, 8, 13, 21, 34, 55]
list(map(lambda x, y: x+y, sample_data, sample_data_2))

[์ถœ๋ ฅ]

[1, 3, 5, 7, 10, 14, 20, 29, 43, 65]

list์˜ size๊ฐ€ ๋‹ค๋ฅธ ๊ฒฝ์šฐ, ์ž‘์€ size์— ๋งž์ถฐ ์ƒ์„ฑ

sample_data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sample_data_2 = [1, 1, 1, 10, 100]
list(map(lambda x, y: x+y, sample_data, sample_data_2))

[์ถœ๋ ฅ]

[2, 3, 4, 14, 105]

zip

  • ๋ฌธ๋ฒ•: *zip(iterable)
  • ๋™์ผํ•œ ๊ฐœ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ์ž๋ฃŒํ˜•์„ ๋ฌถ์–ด ์ฃผ๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.
sample_data1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sample_data2 = [0, 1, 2, 3, 5, 8, 13, 21, 34, 55]
sample_data3 = [5, 6, 7]

sample_data1, sample_data2์„ zip์œผ๋กœ ๋ฌถ์–ด์ค€ ๊ฒฝ์šฐ

result = zip(sample_data1, sample_data2)
list(result)

[์ถœ๋ ฅ]

[(1, 0),
 (2, 1),
 (3, 2),
 (4, 3),
 (5, 5),
 (6, 8),
 (7, 13),
 (8, 21),
 (9, 34),
 (10, 55)]


sample_data1, sample_data2, sample_data3์„ zip์œผ๋กœ ๋ฌถ์–ด์ค€ ๊ฒฝ์šฐ

  • ์ž‘์€ size๋ฅผ ๊ฐ€์ง€๋Š” ๋ฆฌ์ŠคํŠธ(list)์— ๋งž์ถฐ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
list(zip(sample_data1, sample_data2, sample_data3))

[์ถœ๋ ฅ]

[(1, 0, 5), (2, 1, 6), (3, 2, 7)]


zip์˜ ์‘์šฉ

number = [1, 2, 3, 4]
name = ['ํ™๊ธธ๋™','๊น€์ฒ ์ˆ˜','John','Paul']
number_name = list(zip(number,name))
number_name

[์ถœ๋ ฅ]

[(1, 'ํ™๊ธธ๋™'), (2, '๊น€์ฒ ์ˆ˜'), (3, 'John'), (4, 'Paul')]


zip์„ ํ™œ์šฉํ•œ dict ๋งŒ๋“ค๊ธฐ

number = [1, 2, 3, 4]
name = ['ํ™๊ธธ๋™','๊น€์ฒ ์ˆ˜','John','Paul']
dic = {}

for number, namein zip(number,name):
    dic[number] = name
dic

[์ถœ๋ ฅ]

{1: 'ํ™๊ธธ๋™', 2: '๊น€์ฒ ์ˆ˜', 3: 'John', 4: 'Paul'}

enumerate

  • [๋ฌธ๋ฒ•]: enumerate(iterable, start=0)
  • ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ์ž๋ฃŒํ˜•์„ ์ž…๋ ฅ ๋ฐ›์•„ index๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฐ์ฒด๋กœ return ํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜ range() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ

for valuein range(1, 10, 2):
    print(value)

[์ถœ๋ ฅ]

1
3
5
7
9


enumerate() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ index๋ฅผ return ๋ฐ›์€ ๊ฒฝ์šฐ

for idx, valuein enumerate(range(1, 10, 2)):
    print(f'index: {idx}, value: {value}')

[์ถœ๋ ฅ]

index: 0, value: 1
index: 1, value: 3
index: 2, value: 5
index: 3, value: 7
index: 4, value: 9