[210727 TIL] Python

Choi RimΒ·2021λ…„ 7μ›” 27일
0

Python

λͺ©λ‘ 보기
17/20
post-thumbnail

dict

dict = {0:0}
for i in [1, 2, 3, 4]:
	dict = {i:i}

{4: 4}

  • 빈 λ”•μ…”λ„ˆλ¦¬λ₯Ό λ§Œλ“€κ³  for문을 톡해 λ”•μ…”λ„ˆλ¦¬μ— 킀와 값을 μΆ”κ°€ν•  λ•ŒλŠ” 0μ΄λΌλŠ” κΈ°λ³Έ 값을 λ„£μ–΄μ£ΌλŠ” 것이 μ’‹λ‹€.
>>> dict = {}
>>> for i in [1, 2, 3, 4]:
...     dict = {i:i}
... 
>>> dict
{4: 4}
  • κ·Έλƒ₯ 빈 λ”•μ…”λ„ˆλ¦¬μ—λ„ 값이 λ“€μ–΄κ°€κΈ°λŠ” ν•œλ‹€.
max_count = {}
    for i in nums:
      if nums.count(i) > list(max_count.values())[0]:
        max_count = {i:nums.count(i)}
    return list(max_count.keys())[0]
  • μœ„ μ½”λ“œλ₯Ό 보자.
  • numsμ•ˆμ— λ“€μ–΄κ°€μžˆλŠ” 같은 리슀트 μš”μ†Œμ˜ μˆ˜κ°€ max_count λ”•μ…”λ„ˆλ¦¬μ˜ values값보닀 크닀면 max_count에 {λ¦¬μŠ€νŠΈμš”μ†Œ:μš”μ†Œμ˜ 개수} ν˜•νƒœλ‘œ μ €μž₯ν•œλ‹€.
  • 그런데 처음 빈 λ”•μ…”λ„ˆλ¦¬μ˜ ν‚€κ°’κ³Ό 리슀트의 μš”μ†Œ 개수λ₯Ό 비ꡐ할 λ•Œ 빈 λ”•μ…”λ„ˆλ¦¬μ— μš”μ†Œκ°€ μ—†μœΌλ©΄ IndexError: list index out of range λΌλŠ” 인덱슀 μ—λŸ¬κ°€ λ°œμƒν•œλ‹€.
max_count = {0:0}
    for i in nums:
      if nums.count(i) > list(max_count.values())[0]:
        max_count = {i:nums.count(i)}
    return list(max_count.keys())[0]
  • for문을 톡해 λ”•μ…”λ„ˆλ¦¬λ‚˜ 리슀트 μš”μ†Œμ™€ λΉ„κ΅ν•œ λ’€ μ €μž₯ν•˜λŠ” μ½”λ“œλ₯Ό λ§Œλ“€λ•ŒλŠ” 기본값을 μ§€μ •ν•΄μ£Όμž.

keys(), values()

>>> my_dict = {'a':1, 'b':1, 'c':3}
>>> my_dict.keys()
dict_keys(['a', 'b', 'c'])
>>> my_dict.values()
dict_values([1, 1, 3])
  • keys(), values()λ₯Ό μ‚¬μš©ν•˜μ—¬ λ”•μ…”λ„ˆλ¦¬μ˜ ν‚€λ‚˜ ν‚€κ°’λ§Œ λ½‘μ•„μ„œ 좜λ ₯ν•  수 μžˆλ‹€.
>>> my_dict = {'a':1, 'b':1, 'c':3}
>>> my_dict.keys()
dict_keys(['a', 'b', 'c'])
>>> list(my_dict.keys())
['a', 'b', 'c']
  • λ§Œμ•½ ν‚€λ‚˜ 킀값을 리슀트 ν˜•μ‹μœΌλ‘œ μ‚¬μš©ν•˜κ³  μ‹Άλ‹€λ©΄ list둜 λ³€ν™˜ν•΄μ„œ μ‚¬μš©ν•΄μ•Ό ν•œλ‹€.
>>> type(list(my_dict.keys()))
<class 'list'>
>>> type(my_dict.keys())
<class 'dict_keys'>
  • keys()λ₯Ό μ΄μš©ν•΄ 좜λ ₯ν•œ ν‚€κ°’μ˜ νƒ€μž…μ€ dict_keys이고 리슀트둜 λ³€ν™˜ν•œ 킀값듀은 λ‹Ήμ—°νžˆ list νƒ€μž…μ΄λ‹€.

TypeError: 'list' object is not callable

>>> list = [1, 2, 3, 4]
>>> list(my_dict.keys())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'list' object is not callable
  • list 객체λ₯Ό ν˜ΈμΆœν•  수 μ—†λ‹€κ³  ν•œλ‹€.
  • λ§Œμ•½ list λΌλŠ” λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜κ³  list μ‚¬μš© μ‹œ type errorκ°€ μΌμ–΄λ‚˜λ‹ˆ μ‘°μ‹¬ν•˜μž.
profile
https://rimi0108.github.io/

0개의 λŒ“κΈ€