[Python] ๋”•์…”๋„ˆ๋ฆฌ(Dictionary)

2020. 9. 1. 22:07ยท๊ฐœ๋ฐœ ํƒ€์ž„์บก์А/Python

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

ํŒŒ์ด์ฌ์˜ ๋”•์…”๋„ˆ๋ฆฌ๋Š” Key์™€ value์˜ ๋Œ€์‘๊ด€๊ณ„๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.

 

๋นˆ ๋”•์…”๋„ˆ๋ฆฌ ๋งŒ๋“ค๊ธฐ

#์ฒซ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•
d = {}

#๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•
d = dick()

๋นˆ ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๋งŒ๋“œ๋ ค๋ฉด ๋นˆ ์ค‘๊ด„ํ˜ธ ๋˜๋Š” dick()์„ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค.

 

๋”•์…”๋„ˆ๋ฆฌ ์•Œ์•„๋ณด๊ธฐ

d = {"Justin": 13, "John": 10, "Mike": 9}
print(d["Justin"]) # 13

์ค‘๊ด„ํ˜ธ๋ฅผ ์ด์šฉํ•ด ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ํ‚ค์— ๋Œ€์‘๋˜๋Š” ๊ฐ’์„ ์ฝœ๋ก (:)์œผ๋กœ ์—ฐ๊ฒฐํ•ด์ฃผ๋ฉด ๋”•์…”๋„ˆ๋ฆฌ๊ฐ€ ๋งŒ๋“ค์–ด์ง„๋‹ค.

print๋ฅผ ์ด์šฉํ•ด d["Justin"]์˜ ๊ฐ’์„ ์ถœ๋ ฅํ•ด๋ณด์•˜๋‹ค. 13์ด ๋‚˜์˜ค๋Š”๊ฒƒ์„ ํ™•์ธํ• ์ˆ˜์žˆ๋‹ค.

๋งŒ์•ฝ ๋”•์…”๋„ˆ๋ฆฌ์— ์—†๋Š” ๊ฐ’์„ ์ฐพ์œผ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

๋”•์…”๋„ˆ๋ฆฌ์— ์ƒˆ๋กœ์šด ๊ฐ’ ์ถ”๊ฐ€ํ•˜๊ธฐ

d = {"Justin": 13, "John": 10, "Mike": 9}
#์ƒˆ๋กœ์šด ๊ฐ’ ์ถ”๊ฐ€
d["Summer"] = 15

๋”•์…”๋„ˆ๋ฆฌ์— ์ƒˆ ๊ฐ’์„ ์ถ”๊ฐ€ํ•ด๋ณด์•˜๋‹ค.

์ด๋•Œ ์ฃผ์˜ํ•  ์ ์€ ๋”•์…”๋„ˆ๋ฆฌ์—๋Š” ํ‚ค๊ฐ€ ์ค‘๋ณต๋˜์ง€ ์•Š๋Š”๋‹ค. ๋งŒ์•ฝ ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ํ‚ค์— ์ƒˆ ๊ฐ’์„ ๋„ฃ์œผ๋ฉด ๊ธฐ์กด ๊ฐ’์€ ์‚ฌ๋ผ์ง€๊ณ  ์ƒˆ ๊ฐ’์œผ๋กœ ๋ฎ์–ด์จ์ง„๋‹ค.

 

๋”•์…”๋„ˆ๋ฆฌ ํ™œ์šฉ

s_info = {
    1: "๊น€ํƒœ์ค€",
    2: "์ด์œ ์ •",
    3: "๋ฐ•๊ทœ์Šน"
}

#ํ•™์ƒ๋ฒˆํ˜ธ 1๋ฒˆ์— ํ•ด๋‹นํ•˜๋Š” ํ•™์ƒ ์ด๋ฆ„ ์ฐพ๊ธฐ
s_info[1] #๊น€ํƒœ์ค€

#์ƒˆ ํ•™์ƒ ์ถ”๊ฐ€ํ•˜๊ธฐ
s_info[4] = "์ตœ์žฌ์ผ"

#ํ•™์ƒ ์‚ญ์ œํ•˜๊ธฐ
del s_info[1]

๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์ด์šฉํ•ด ํ•™์ƒ ๋ฒˆํ˜ธ์™€ ํ•™์ƒ ์ด๋ฆ„์ด ๋Œ€์‘๋œ ํ•™์ƒ ๋ช…๋ถ€๋ฅผ ๋งŒ๋“ค๊ณ  ์‘์šฉํ•ด๋ณด์•˜๋‹ค.

 

๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์ด์šฉํ•œ ๋™๋ช…์ด์ธ ์ฐพ๊ธฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜

def find_same_name(a):
    name_dict = {}
    for name in a:
        if name in name_dict:
            name_dict[name] += 1
        else:
            name_dict[name] = 1
    
    result = set() #์ง‘ํ•ฉ
    for name in name_dict:
        if name_dict[name] >= 2:
            result.add(name)

    return result

name = ["Tom", "Jerry", "Mike", "Tom"]
print(find_same_name(name))

name2 = ["Tom", "Jerry", "Mike", "Tom", "Mike"]
print(find_same_name(name2))

๊ณ„์‚ฐ๋ณต์žก๋„๋Š” O(n)์— ํ•ด๋‹น๋œ๋‹ค.

 

'๊ฐœ๋ฐœ ํƒ€์ž„์บก์А > Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Python] Numpy - ๋ฐฐ์—ด ํ•ฉ์น˜๊ธฐ  (0) 2020.09.19
[Python] Numpy - ๋ฐฐ์—ด ์Šฌ๋ผ์ด์‹ฑ(slicing)  (0) 2020.09.18
[Python] Numpy - ๋ฐฐ์—ด reshape  (0) 2020.09.18
[Python] Numpy ๋ฐฐ์—ด / Numpy๋ฐฐ์—ด ํ•จ์ˆ˜  (0) 2020.09.18
[Python] 2์ง„์ˆ˜ 8์ง„์ˆ˜ 16์ง„์ˆ˜ -> 10์ง„์ˆ˜ -> 2์ง„์ˆ˜ 8์ง„์ˆ˜ 16์ง„์ˆ˜  (0) 2020.09.07
'๊ฐœ๋ฐœ ํƒ€์ž„์บก์А/Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Python] Numpy - ๋ฐฐ์—ด ์Šฌ๋ผ์ด์‹ฑ(slicing)
  • [Python] Numpy - ๋ฐฐ์—ด reshape
  • [Python] Numpy ๋ฐฐ์—ด / Numpy๋ฐฐ์—ด ํ•จ์ˆ˜
  • [Python] 2์ง„์ˆ˜ 8์ง„์ˆ˜ 16์ง„์ˆ˜ -> 10์ง„์ˆ˜ -> 2์ง„์ˆ˜ 8์ง„์ˆ˜ 16์ง„์ˆ˜
๐ŸฅญMango
๐ŸฅญMango
  • ๐ŸฅญMango
    AppleMango๐Ÿฅญ
    ๐ŸฅญMango
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
      • iOS
        • Swift
        • SwiftUI
        • RxSwift
      • Algorithm
        • C
        • Python
        • Swift
      • Computer Science
        • ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ
        • OS
      • ...
      • ๊ฐœ๋ฐœ ํƒ€์ž„์บก์А
        • Python
        • Flutter
        • Android
        • Kotlin
        • Java
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

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

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ํŒŒ์ด์ฌ ์ •๋ ฌ
    MapMarker
    ํ† ๋งˆํ† 
    14503 ํŒŒ์ด์ฌ
    Swift Hello World!
    Apple Login
    swiftUI tabview
    14503 ๋กœ๋ด‡์ฒญ์†Œ๊ธฐ
    1613 ํŒŒ์ด์ฌ
    ํŒŒ์ด์ฌ 1459
    1์ฐจ์› ๋ฟŒ์š”๋ฟŒ์š”
    ์Šคํƒ
    ํŒŒ์ด์ฌ
    Custom Map Marker
    Code Base
    ํŒŒ์ด์ฌ 14503
    ํŒŒ์ด์ฌ ํ† ๋งˆํ† 
    ์—ญ์‚ฌ ํŒŒ์ด์ฌ
    swiftUI Gradients
    6118
    ๋ฐฑ์ค€ ํ† ๋งˆํ† 
    ๋ฐฑ์ค€ ์†Œ์ˆ˜
    IOS
    SwiftUI Apple Login
    ์ฝ”ํ‹€๋ฆฐ
    ํŒŒ์ด์ฌ 6118
    1613 ์—ญ์‚ฌ
    SwiftUI
    typing animation
    ์ฝ”ํ‹€๋ฆฐ ์ƒ์†
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.2
๐ŸฅญMango
[Python] ๋”•์…”๋„ˆ๋ฆฌ(Dictionary)
์ƒ๋‹จ์œผ๋กœ

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