๐Ÿ“œ Language/[python]

[ํŒŒ์ด์ฌ] list, set, tuple, dictionary (๋ฆฌ์ŠคํŠธ, ์…‹, ํŠœํ”Œ, ๋”•์…”๋„ˆ๋ฆฌ)

์ œ๋ด‰์•„ 2022. 7. 31. 06:34

ํŒŒ์ด์ฌ์—์„œ ๋Œ€ํ‘œ์ ์ธ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ list, set, tuple, dictionary๊ฐ€ ์กด์žฌํ•œ๋‹ค.

ps์— ์ดˆ์ ์„ ๋งž์ถฐ ์ •๋ฆฌํ•˜๋Š” ๋Š๋‚Œ์œผ๋กœ ์ž‘์„ฑํ–ˆ๋‹ค.


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

  • ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ(mutable)
  • ์ˆœ์„œ ์กด์žฌ(iterable)
  • ๋ฆฌ์ŠคํŠธ์•ˆ์— ๊ฐ์ฒด๋“ค ์ค‘๋ณต ๊ฐ€๋Šฅ
arr = []                #๋ฆฌ์ŠคํŠธ ์„ ์–ธ
arr2 = list()           #๋ฆฌ์ŠคํŠธ ์„ ์–ธ2

arr.append(1)           # 1 ๊ฐ’ ์ถ”๊ฐ€ ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ์— ๋„ฃ๋Š”๊ฑฐ์ž„
arr.insert(2, 2)        # index 2์— 2 ๊ฐ’ ์ถ”๊ฐ€

arr.remove(1)           # ๊ฐ’์ด 1์ธ๊ฑฐ ์‚ญ์ œ
del arr[1]              # index 1์— ์žˆ๋Š” ๊ฐ’ ์‚ญ์ œ

arr.pop()               # ๊ฐ€์žฅ ์™ผ์ชฝ์— ์žˆ๋Š” ๊ฐ’ ์‚ญ์ œ ๋ฐ return

arr.extend(arr2)        # ๋ฆฌ์ŠคํŠธ์™€ ๋ฆฌ์ŠคํŠธ ํ•ฉ์น˜๊ธฐ
arr += arr2             # ๋ฆฌ์ŠคํŠธ์™€ ๋ฆฌ์ŠคํŠธ ํ•ฉ์น˜๊ธฐ

arr3 = arr[1:6]         # ๋ฆฌ์ŠคํŠธ ์Šฌ๋ผ์ด์‹ฑ, index 1 ~ 5๊นŒ์ง€ ๋ณต์‚ฌ

arr.sort()              # ๋ฆฌ์ŠคํŠธ ์ •๋ ฌ ์˜ค๋ฆ„์ฐจ์ˆœ
arr.sort(reverse= True) # ๋ฆฌ์ŠคํŠธ ์ •๋ ฌ ๋‚ด๋ฆผ์ฐจ์ˆœ
sorted(arr)             # ๋ฆฌ์ŠคํŠธ ์ •๋ ฌํ•œ๊ฑฐ ๋ฐ˜ํ™˜

print(" ".join(map(str,arr)))   #์ถœ๋ ฅ ํŽธํ•˜๊ฒŒ

len(arr)                # arr ๊ธธ์ด, ์š”์†Œ ๊ฐœ์ˆ˜
max(arr)                # arr์— ์žˆ๋Š” ๊ฐ’์ค‘ ์ตœ๋Œ€๊ฐ’
min(arr)                # arr์— ์žˆ๋Š” ๊ฐ’์ค‘ ์ตœ์†Œ๊ฐ’

arr.index(value)        #value์˜ ์ธ๋ฑ์Šค ๋ฐ˜ํ™˜
arr.count(value)        #value์˜ ๊ฐœ์ˆ˜ ๋ฐ˜ํ™˜

set (์ง‘ํ•ฉ)

  • ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ (mutable)
  • ์ˆœ์„œ ์—†์Œ
  • ์ค‘๋ณต ๋ถˆ๊ฐ€๋Šฅ
set1 = {1, 2, 3, 4}         #์ง‘ํ•ฉ์„ ์–ธ
set2 = {2, 4, 6, 8}
set3 = set([1, 3, 5, 7])    #์ง‘ํ•ฉ ์„ ์–ธ

set3.add(9)                 #์ง‘ํ•ฉ ๊ฐ’ ์ถ”๊ฐ€
set3.update({11})           #์ง‘ํ•ฉ ๋”ํ•˜๊ธฐ |= ์™€ ๋™์ผ
set3.remove(11)             #์ง‘ํ•ฉ ์š”์†Œ ์‚ญ์ œ

set1 |= set2                #ํ•ฉ์ง‘ํ•ฉ
set1 &= set2                #๊ต์ง‘ํ•ฉ
set1 -= set2                #์ฐจ์ง‘ํ•ฉ
set1 ^= set2                #๋Œ€์นญ์ฐจ์ง‘ํ•ฉ(ํ•ฉ์ง‘ํ•ฉ - ๊ต์ง‘ํ•ฉ)

set1 <= set2                #์ง‘ํ•ฉ ํฌํ•จ๊ด€๊ณ„ ํ™•์ธ

tuple (ํŠœํ”Œ)

  • ์‚ญ์ œ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅ (immutable)
  • ์ˆœ์„œ ์žˆ์Œ
  • ์ค‘๋ณต ๊ฐ€๋Šฅํ•จ
  • ๋ฆฌ์ŠคํŠธ์™€ ์œ ์‚ฌํ•จ
tuple1 = (1, 2, 3)          #ํŠœํ”Œ ์„ ์–ธ
tuple2 = tuple(['a', 'b'])  #ํŠœํ”Œ ์„ ์–ธ2 ๋ฆฌ์ŠคํŠธ to ํŠœํ”Œ

len(tuple1)                 #ํŠœํ”Œ ์š”์ˆ˜ ๊ฐœ์ˆ˜
tuple1[1]                   #ํŠœํ”Œ ์ธ๋ฑ์‹ฑ
tuple2[1:]                  #ํŠœํ”Œ ์Šฌ๋ผ์ด์‹ฑ

dictionary (์‚ฌ์ „)

  • ๊ฐ’ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ (mutable)
  • key - value๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Œ
  • ์ˆœ์„œ ์—†์Œ(key๋กœ value๋ฅผ ์ฐพ์Œ)
  • key๋Š” immutableํ•œ ๊ฐ์ฒด๋งŒ ๊ฐ€๋Šฅ
  • key ์ค‘๋ณต X
dic1 = {'a':1, 'b':2}   #๋”•์…”๋„ˆ๋ฆฌ ์„ ์–ธ

dic1['c'] = 3           #๊ฐ’ ์ถ”๊ฐ€
del dic1['c']           #key๊ฐ€ c์ธ ์š”์†Œ ์‚ญ์ œ

dic1.keys()             #ํ‚ค ๋ชฉ๋ก
dic1.values()           #๊ฐ’ ๋ชฉ๋ก
dic1.items()            #key - value ๋ชฉ๋ก
dic1.clear()            #๋ชจ๋“  ์š”์†Œ ์‚ญ์ œ
dic1.get('a')           #key๊ฐ€ a์ธ value ๋ฐ˜ํ™˜

์ฐธ๊ณ 

https://velog.io/@inyong_pang/Data-Structure-list%EB%A6%AC%EC%8A%A4%ED%8A%B8-vs-tuple%ED%8A%9C%ED%94%8C-vs-set%EC%85%8B-vs-dict%EB%94%95%EC%85%94%EB%84%88%EB%A6%AC