TIL-024 | Python_Basic-2

Lee, Chankyuยท2021๋…„ 10์›” 8์ผ
0
post-thumbnail
post-custom-banner

๐Ÿ“ ์ง€๋‚œ python_Basic ๊ธ€์„ ์ž‘์„ฑํ•˜๋ฉฐ ํŒŒ์ด์ฌ์˜ ๊ธฐ๋ณธ์ ์ธ data type์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ–ˆ์—ˆ๋‹ค. ๊ทธ ์ค‘ tuple, dictionary, list ๋“ฑ์— ๋Œ€ํ•ด ์ข€ ๋” ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.


1. Tuple

  • () ๋กœ ๋‘˜๋Ÿฌ ์‹ธ์ธ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์š”์†Œ์˜ ์‚ญ์ œ, ์ˆ˜์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์ธ๋ฑ์‹ฑ, ์Šฌ๋ผ์ด์‹ฑ ๊ทธ๋ฆฌ๊ณ  ๋ง์…ˆ, ๊ณฑ์…ˆ์€ ๊ฐ€๋Šฅํ•˜๋‹ค.
a = (1, 2) # ํŠœํ”Œ ์ž๋ฃŒํ˜•
b = (3, 4)

print(a[0]) # 1
print(b[0:]) # (3, 4)
print(a+b) #(1, 2, 3, 4)
print(a*2) #(1, 2, 1, 2)

2. List

  • []๋กœ ๋‘˜๋Ÿฌ ์‹ธ์ธ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์ˆซ์ž์—ด ๋ฌธ์ž์—ด ๋“ฑ์˜ ๋ฐ์ดํ„ฐ๋“ค์˜ ์ง‘ํ•ฉ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒํ˜•์ด๋‹ค.
  • ์š”์†Œ ๊ฐ’์˜ ์ˆ˜์ •, ์‚ญ์ œ, ์ถ”๊ฐ€, ์ธ๋ฑ์‹ฑ, ์Šฌ๋ผ์ด์‹ฑ ๋“ฑ์ด ๋ชจ๋‘ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์ •๋ ฌ, ๋’ค์ง‘๊ธฐ ๋“ฑ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๋‚ด์žฅํ•จ์ˆ˜๋“ค์ด ์กด์žฌํ•œ๋‹ค.
a = []
b = [1, 2, 3, 4, 5]
c = ['hello', 'world']

print(b[0]) # 1
print(b[1:3]) # [2, 3]
print(b+c) # [1, 2, 3, 4, 5, 'hello', 'world']

#์š”์†Œ ๋ณ€๊ฒฝ
b[0] = 6
print(b) #[6, 2, 3, 4, 5]

#์š”์†Œ ์‚ญ์ œ
del b[1] 
print(b) #[1, 3, 4, 5]

#์š”์†Œ ์ถ”๊ฐ€
c.append('bye') 
print(c) # ['hello', 'world', 'bye'], ๋งจ ๋’ค์— ์ถ”๊ฐ€ ๋œ๋‹ค.

#์š”์†Œ ์‚ฝ์ž…
a.insert(0, 1)
print(a) #[1]

๐Ÿ‘‰ ์ข€ ๋” ๋‹ค์–‘ํ•œ ๋‚ด์žฅํ•จ์ˆ˜๊ฐ€ ์กด์žฌํ•˜์ง€๋งŒ, ์ถ”ํ›„ ์ถ”๊ฐ€์ ์œผ๋กœ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.


3. Dictionary

  • ์ด๋ฆ„: ํ™๊ธธ๋™ // ๋‚˜์ด: 30์‚ด, ์ด์™€ ๊ฐ™์€ ๋Œ€์‘ ๊ด€๊ณ„๋ฅผ ๋ฐ์ดํ„ฐ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์ด dictionary ์ด๋‹ค.
  • ๊ธฐ๋ณธ ๊ตฌ์กฐ๋Š” {key1:value1, key2:value2...} ์ด๋‹ค.
  • key ๊ฐ’์€ ๊ณ ์œ ํ•œ ๊ฐ’์ด๋ฉฐ ์ค‘๋ณต๋˜์–ด์„  ์•ˆ๋œ๋‹ค. ๋˜ํ•œ key ๊ฐ’์— ๋ฆฌ์ŠคํŠธ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋‚˜ ํŠœํ”Œ์€ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ฆฌ์ŠคํŠธ๋Š” ๋ณ€ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒํ˜•์ด๊ณ  ํŠœํ”Œ์€ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • dictionary ์˜ ์š”์†Œ๋“ค์„ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ๋‹ค์–‘ํ•œ ๋‚ด์žฅํ•จ์ˆ˜๊ฐ€ ์žˆ์œผ๋ฉฐ ๋Œ€ํ‘œ์ ์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด ์กด์žฌํ•œ๋‹ค.
dic = {'์ด๋ฆ„':'ํ™๊ธธ๋™', '๋‚˜์ด':30, '๊ฑฐ์ฃผ์ง€':'๋ถ„๋‹น'}

# key, value ๊ฐ’์˜ ํ˜ธ์ถœ
print(dic['์ด๋ฆ„']) # ํ™๊ธธ๋™
print(dic.keys()) # dict_keys(['์ด๋ฆ„', '๋‚˜์ด', '๊ฑฐ์ฃผ์ง€'])
print(dic.values()) # dict_values(['ํ™๊ธธ๋™', 30, '๋ถ„๋‹น'])
print(dic.items()) #dict_items([('์ด๋ฆ„', 'ํ™๊ธธ๋™'), ('๋‚˜์ด', 30), ('๊ฑฐ์ฃผ์ง€', '๋ถ„๋‹น')])
print(dic.get('์ด๋ฆ„')) # ํ™๊ธธ๋™

# ๋”•์…”ํ„ฐ๋ฆฌ ์š”์†Œ ์‚ญ์ œํ•˜๊ธฐ
dic.clear()
print(a) #{}

4. Set

  • ์ˆ˜ํ•™์˜ ์ง‘ํ•ฉ๊ณผ ์œ ์‚ฌํ•œ ๊ฐœ๋…์ด๋ฉฐ, ์š”์†Œ๋“ค์˜ ์ˆœ์„œ๊ฐ€ ์—†๊ณ  ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ๊ณ ์œ ํ•œ ๊ฐ’๋งŒ ๊ฐ€์ง„๋‹ค.
  • dictionary์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ค‘๊ด„ํ˜ธ({})๋กœ ํ‘œํ˜„๋˜์ง€๋งŒ, ์ค‘๊ด„ํ˜ธ๋งŒ์œผ๋กœ ์„ ์–ธํ•  ์ˆ˜ ์—†๋‹ค. set ์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์–ธํ•ด์•ผ ํ•œ๋‹ค.
a = (1, 2, 3, 3, 4, 5) 
b = {1, 1, 2, 2, 3, 3, 4, 4, 5, 5}
c = [1, 2, 3, 4, 5, 5, 5]

# set ์„ ์–ธ
a = set(a)
b = set(b)
c = set(c)

print(a) #{1, 2, 3, 4, 5}
print(b) #{1, 2, 3, 4, 5}
print(c) #{1, 2, 3, 4 ,5}

print(a[0]) # 'set' object is not subscriptable
# set type์€ ์ˆœ์„œ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ธ๋ฑ์‹ฑ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. 
  • ์ง‘ํ•ฉ ๊ฐœ๋…๊ณผ ์œ ์‚ฌํ•œ set ํ•จ์ˆ˜๋Š” ๋‹ค์–‘ํ•œ ์—ฐ์‚ฐ ๋ฉ”์„œ๋“œ๋“ค์ด ์กด์žฌํ•œ๋‹ค. ์ถ”ํ›„ ์ž์„ธํžˆ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

โœ… ์ง€๊ธˆ๊นŒ์ง€ ์‚ดํŽด๋ณธ Set๊ณผ Dictionary, ๊ทธ๋ฆฌ๊ณ  List์™€ Tuple์˜ ์ฐจ์ด๋ฅผ ์‚ดํŽด๋ณด๋ฉด,

1) Set๊ณผ Dictionary์˜ ์ฐจ์ด

  • dictionary๋Š” key,value ๊ฐ’์ด ์Œ์œผ๋กœ ์กด์žฌํ•˜๋ฉฐ, key ๊ฐ’์€ immutable, value ๊ฐ’์€ mutableํ•œ ๊ฐ’์ด๋‹ค.
  • set์€ dictionary ์ฒ˜๋Ÿผ ์ค‘๊ด„ํ˜ธ๋กœ ํ‘œํ˜„๋˜์ง€๋งŒ key value์˜ ์Œ์œผ๋กœ ๋œ ๊ฐ’์ด ์•„๋‹ˆ๋ฉฐ mutable ๊ฐ์ฒด์ด๋‹ค.

2) List์™€ Tuple์˜ ์ฐจ์ด

  • ๊ธฐ๋ณธ ๊ตฌ์กฐ: list๋Š” []์•ˆ์— ์š”์†Œ๋“ค์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, tuple์€ ()์•ˆ์— ์š”์†Œ๋“ค์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค.
  • list๋Š” ์š”์†Œ์˜ ์ˆ˜์ •์ด ๋‹ค์–‘ํ•˜๊ฒŒ ๊ฐ€๋Šฅํ•œ mutableํ•œ ํŠน์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ฐŒ๋งŒ, tuple์€ ํ•œ๋ฒˆ ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ ์ •ํ•ด์ง€๋ฉด ๋ณ€ํ•˜์ง€ ์•Š๋Š” immutableํ•œ ํŠน์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
profile
Backend Developer - "Growth itself contains the germ of happiness"
post-custom-banner

0๊ฐœ์˜ ๋Œ“๊ธ€