Hiya_
๊ฐœ๋ฐœ์ž์ทจ๐ŸŒฑ
Hiya_
Github
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (154)
    • ๐Ÿ’ปBackend (10)
      • ๋ผ์ด์ง•์บ ํ”„ (6)
      • SSAFY | ์‹ธํ”ผ (2)
      • ์‹ ํ•œDS ๊ธˆ์œตSW ์•„์นด๋ฐ๋ฏธ (2)
    • ๐Ÿ“๋ฌธ์ œ ํ’€์ด (102)
      • ๐ŸงฉBaekjoon (47)
      • ๐ŸงฉProgrammers (42)
      • ๐ŸงฉSWExpertAcademy (10)
      • ๐ŸงฉSofteer (3)
    • ๐Ÿ“‚Language (31)
      • Python (3)
      • JAVA (2)
      • SQL (6)
      • English (19)
    • โœจUseful information (5)
    • ๐Ÿ”‘Algorithms (3)
    • ๐Ÿ™Git (2)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ํ† ์ตRC
  • UNION ALL
  • ๋ฆฌ์ŠคํŠธ
  • BaekJoon
  • ํ† ์ต์ ์ˆ˜
  • ํ•ด์ปค์Šคํ† ์ต
  • ๊ทธ๋ฆฌ๋””
  • 2์ฐจ์› ๋ฐฐ์—ด
  • ์˜ค๋ธ”์™„
  • ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
  • ํ† ์ต๊ณต๋ถ€
  • sort
  • Union
  • mysql
  • ๊ตฌํ˜„
  • ์™„์ „ํƒ์ƒ‰
  • ํ† ์ต๋ฌด๋ฃŒ์ž๋ฃŒ
  • ์ฝ”ํ…Œ
  • ํ† ์ต์‹œํ—˜
  • ์ •๋ ฌ
  • greedy algorithm
  • ๋‹ค์ต์ŠคํŠธ๋ผ
  • ํ† ์ต๋ฌด๋ฃŒ๊ฐ•์˜
  • ๋‚ด์žฅํ•จ์ˆ˜
  • ํ† ์ต๋…ํ•™
  • ๋ฐฑ์ค€
  • Python
  • ํ† ์ต๊ธฐ์ถœ
  • BFS
  • ํ•ด์ปค์ŠคํŒŒ๋žญ์ด

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ


Owner : ๊น€์‹ ์˜
Naver Blog

hELLO ยท Designed By ์ •์ƒ์šฐ.
Hiya_

๊ฐœ๋ฐœ์ž์ทจ๐ŸŒฑ

[Python | week1-1] Hash ์ž๋ฃŒ๊ตฌ์กฐ | accumulate ํ•จ์ˆ˜ | enumerate ํ•จ์ˆ˜ | counter ํ•จ์ˆ˜
๐Ÿ“๋ฌธ์ œ ํ’€์ด/๐ŸงฉProgrammers

[Python | week1-1] Hash ์ž๋ฃŒ๊ตฌ์กฐ | accumulate ํ•จ์ˆ˜ | enumerate ํ•จ์ˆ˜ | counter ํ•จ์ˆ˜

2023. 1. 11. 23:22

[์ปค๋ฎค๋Ÿฌ๋‹/9๊ธฐ/Python]์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์‹ค๋ ฅUPํŒจํ‚ค์ง€

week1-1

 

ํ•™์Šต ๋‚ด์šฉ

1. [์ž๋ฃŒ๊ตฌ์กฐ] Hash

2. enumerate ํ•จ์ˆ˜

3. accumalate ํ•จ์ˆ˜

4. counter ํ•จ์ˆ˜

 


1. [์ž๋ฃŒ๊ตฌ์กฐ] Hash

Python์—์„œ Hash ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ๋”•์…”๋„ˆ๋ฆฌ(Dictionary)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

 

๋”•์…”๋„ˆ๋ฆฌ๋Š” key-value๊ฐ’์„ ์Œ์œผ๋กœ ๊ฐ–๋Š”๋‹ค.

key๊ฐ’์€ ์ž๋ฃŒํ˜•์ด ๋‹ฌ๋ผ๋„ ๊ณต์กดํ•  ์ˆ˜ ์žˆ๋‹ค.

key๊ฐ’๋งŒ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด ์–ธ์ œ๋“ ์ง€ value์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

๋‹ค์Œ ์ˆœ์„œ๋กœ ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž

- ์กฐํšŒ

- ์ž…๋ ฅ

- ์‚ญ์ œ

 

 

<์กฐํšŒ>

1) get ํ•จ์ˆ˜ 

dic = {"BTS": "๋ฐฉํƒ„์†Œ๋…„๋‹จ", "๋น„๋ฐ€๋ฒˆํ˜ธ": 4313}
print(dic.get("๋น„๋ฐ€๋ฒˆํ˜ธ"))

#4313

2) []

dic = {"BTS": "๋ฐฉํƒ„์†Œ๋…„๋‹จ", "๋น„๋ฐ€๋ฒˆํ˜ธ": 4313}
print(dic["๋ฐฉํƒ„์†Œ๋…„๋‹จ"])

#{"BTS": "๋ฐฉํƒ„์†Œ๋…„๋‹จ", "๋น„๋ฐ€๋ฒˆํ˜ธ": 4313}

3) in

dic = {"BTS": "๋ฐฉํƒ„์†Œ๋…„๋‹จ", "๋น„๋ฐ€๋ฒˆํ˜ธ": 4313}

if "BTS" in dic:
	print('BTS๋ผ๋Š” key๊ฐ’์€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค')
    
#BTS๋ผ๋Š” key๊ฐ’์€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค

 

 

<์ž…๋ ฅ>

1) dict()

dict = dict( alice = 5, bob = 20, tony= 15, suzy = 30)

#dic = {'alice': 5, 'bob': 20, 'tony': 15, 'suzy': 30}

2) {}

dic = {100: "๋ฐฑ", "์ฒด๋ฆฌ": "๊ณผ์ผ"}

#dic = {100: "๋ฐฑ", "์ฒด๋ฆฌ": "๊ณผ์ผ"}

 

3) []

dic = dict( alice = 5, bob = 20, tony= 15, suzy = 30)
dict['alice'] = 10

#dic = {'alice': 10, 'bob': 20, 'tony': 15, 'suzy': 30}

 

 

<์‚ญ์ œ>

1) del

dic = dict( alice = 5, bob = 20, tony= 15, suzy = 30)
del dict['bob']

#dic = {'alice': 5, 'tony': 15, 'suzy': 30}

 

 

 

 

Hash๋Š” List์— ๋น„ํ•ด ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ํ›จ์”ฌ ๋‚ฎ๊ธฐ ๋•Œ๋ฌธ์—

์กฐํšŒ, ์‚ฝ์ž…, ์‚ญ์ œ ๋“ฑ์—์„œ ์œ ๋ฆฌํ•˜๋‹ค

๋˜ํ•œ key ๊ฐ’์ด ๊ฒน์น  ๋•Œ value ๊ฐ’์„ ์กฐ์ •ํ•˜์—ฌ ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

2. enumerate ํ•จ์ˆ˜

for๋ฌธ์„ ๋Œ ๋•Œ ๋‹ค๋ฅธ ์–ธ์–ด๋“ค์— ๋น„๊ตํ•˜์—ฌ Python์Šค๋Ÿฝ๊ฒŒ(?) ํ•ด์ฃผ๋Š” ๋‚ด์žฅํ•จ์ˆ˜์ด๋‹ค.

 

๋จผ์ € ๋‹ค๋ฅธ ์–ธ์–ด๋“ค์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด์ž

alist = ['a', 'b', 'c', 'd']

for i in range(len(alist)):
	print(i, alist[i])
    
#0 a 
#1 b 
#2 c 
#3 d

 

๋‹ค์Œ์€ enumerate๋ฅผ ์‚ฌ์šฉํ•œ for๋ฌธ์ด๋‹ค

enumerate ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฆฌ์ŠคํŠธ์˜ ์ˆœ์„œ์™€ ๋ฐ์ดํ„ฐ๊ฐ’์„ ๊ฐ™์ด ๋ฐ›์•„์™€์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

alist = ['a', 'b', 'c', 'd']

for i, n in enumerate(alist):
	print(i, n)
    
#0 a
#1 b
#2 c
#3 d

 

start ์ธ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์ž‘ ๊ฐ’๋„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

alist = ['a', 'b', 'c', 'd']

for i, n in enumerate(alist, start=101):
	print(i, n)
    
#101 a
#102 b
#103 c
#104 d

 

 

 

 

 

3. accumalate ํ•จ์ˆ˜

๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ž‘์„ฑํ•œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ•˜๋ฉด์„œ ์•Œ๊ฒŒ ๋œ ํ•จ์ˆ˜์ด๋‹ค.

itertools ๋ชจ๋“ˆ์•ˆ์— ์žˆ๋Š” ํ•จ์ˆ˜๋กœ, import ํ•ด์ฃผ์–ด์•ผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋ฆฌ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ ‘๊ทผํ•˜๋ฉฐ ๋”ํ•ด๋‚˜๊ฐ€๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.

์ฝ”๋“œ์™€ ํ•จ๊ป˜ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

from itertools import accumulate

alist = [1, 2, 3, 4, 5, 6, 7, 8, 9]
blist = list(accumulate(alist))
print(blist)

#[1, 3, 6, 10, 15, 21, 28, 36, 45]

 

 

 

 

 

4. Counter ํ•จ์ˆ˜

Counter๋Š” collections ๋ชจ๋“ˆ์— ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.

(๋Œ€๋ฌธ์ž C ์ฃผ์˜!)

 

๋ฆฌ์ŠคํŠธ ์•ˆ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ key๊ฐ’์œผ๋กœ, ๊ฐ ๊ฐœ์ˆ˜๋ฅผ ์„ธ์–ด์ค๋‹ˆ๋‹ค

๋ฐฑ๋ฌธ์ด๋ถˆ์—ฌ์ผ๊ฒฌ, ๋ฐ”๋กœ ์ฝ”๋“œ๋ฅผ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

from collections import Counter

alist = ["hi", "hey", "hi", "hi", "hello", "hey"]
print(Counter(alist))

#Counter({'hi': 3, 'hey': 2, 'hello': 1})

 

 

์š”๋ ‡๊ฒŒ ๋ฌธ์ž์—ด๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค

from collections import Counter
alist = 'hello world'

print(Counter(alist))

#Counter({'l': 3, 'o': 2, 'h': 1, 'e': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1})

 

 

 

์ด์   ์‚ฐ์ˆ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Counter๋ฅผ ํ™œ์šฉํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

Counter ๊ฐ์ฒด๋ฅผ ๋นผ๊ฑฐ๋‚˜ ๋”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

from collections import Counter

co1 = Counter(["A", "A", "B"])
co2 = Counter(["A", "B", "B"])

print(co1 - co2)

#Counter({'A': 1})



co1 = Counter(["A", "A", "B"])
co2 = Counter(["A", "B", "B"])

print(co1 + co2)

#Counter({'A': 3, 'B': 3})

 

 

 

 


<์ฐธ๊ณ ์‚ฌ์ดํŠธ>

https://yunaaaas.tistory.com/46

 

[Python ์ž๋ฃŒ๊ตฌ์กฐ] Hash(ํ•ด์‹œ)

ํŒŒ์ด์ฌ์—์„œ ํ•ด์‹œ(Hash)๋Š” ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”!? ํŒŒ์ด์ฌ์—์„œ๋Š” Dictionary ๋ผ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ํ•ด์‹œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Dictionary๋Š” dictํด๋ž˜์Šค์— ๊ตฌํ˜„๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค! ํ•ด์‹œ ์–ธ์ œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹

yunaaaas.tistory.com

https://www.daleseo.com/python-collections-counter/

 

ํŒŒ์ด์ฌ collections ๋ชจ๋“ˆ์˜ Counter ์‚ฌ์šฉ๋ฒ•

Engineering Blog by Dale Seo

www.daleseo.com

https://deok2kim.tistory.com/95

 

[python] accumulate(itertools), ๋ˆ„์  ํ•ฉ

๐Ÿ“— accumulate ๋œป์œผ๋กœ๋Š” ์ถ•์ ํ•˜๋‹ค? ํ•œ๋งˆ๋””๋กœ ๋ˆ„์ ๋œ ํ•ฉ์„ ๋ฝ‘์•„์ฃผ๋Š” ๋…€์„ ๐Ÿ”ต ์‚ฌ์šฉ๋ฒ• from itertools import accumulate a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] b = list(accumulate(a)) print(a) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print(b) # [

deok2kim.tistory.com

https://www.daleseo.com/python-enumerate/

 

ํŒŒ์ด์ฌ์˜ enumerate() ๋‚ด์žฅ ํ•จ์ˆ˜๋กœ for ๋ฃจํ”„ ๋Œ๋ฆฌ๊ธฐ

Engineering Blog by Dale Seo

www.daleseo.com

 

'๐Ÿ“๋ฌธ์ œ ํ’€์ด > ๐ŸงฉProgrammers' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Python | week3] Heap(ํž™) | Dynamic Programming(๋™์  ๊ณ„ํš๋ฒ•) | DFS/ BFS (๊นŠ์ด/ ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰)  (0) 2023.01.31
[Python | week2] ์ค‘๊ฐ„๊ณ ์‚ฌ | ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜(Greedy Algorithm)  (0) 2023.01.31
[Python | week1-4] ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜(Greedy Algorithm) |  (0) 2023.01.17
[Python | week1-3] ์ •๋ ฌ | Sort ํ•จ์ˆ˜ | divmod ํ•จ์ˆ˜ | ์žฌ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜  (0) 2023.01.16
[Python | week1-2] Greedy ์•Œ๊ณ ๋ฆฌ์ฆ˜ | ์ด๊ฒƒ์ด ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋‹ค  (0) 2023.01.13
    '๐Ÿ“๋ฌธ์ œ ํ’€์ด/๐ŸงฉProgrammers' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [Python | week2] ์ค‘๊ฐ„๊ณ ์‚ฌ | ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜(Greedy Algorithm)
    • [Python | week1-4] ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜(Greedy Algorithm) |
    • [Python | week1-3] ์ •๋ ฌ | Sort ํ•จ์ˆ˜ | divmod ํ•จ์ˆ˜ | ์žฌ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • [Python | week1-2] Greedy ์•Œ๊ณ ๋ฆฌ์ฆ˜ | ์ด๊ฒƒ์ด ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋‹ค
    Hiya_
    Hiya_
    ํ•˜์–€ ์ฒœ๊ณผ ๋ฐ”๋žŒ๋งŒ ์žˆ๋‹ค๋ฉด ์–ด๋””๋“  ๊ฐˆ ์ˆ˜ ์žˆ์–ด

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”