πŸ“š μŠ€ν„°λ””/파이썬 μŠ€ν„°λ”” κ°•μ˜μžλ£Œ

[1νŒ€/ν•œκ·œλ¦Ό] 2μ°¨μ‹œ 파이썬 μŠ€ν„°λ”” - μžλ£Œν˜•

onegyul 2023. 3. 16. 13:25

2μ£Όμ°¨_μžλ£Œν˜•_과제.pdf
0.95MB
2μ£Όμ°¨_μžλ£Œν˜•_κ°•μ˜μ•ˆ.pdf
2.97MB

ν‹°μŠ€ν† λ¦¬μ—λŠ” μ—…λ‘œλ“œμ— ν•œκ³„κ°€ μžˆμ–΄ κ°•μ˜μ•ˆ pdfλ₯Ό μ°Έκ³ ν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€.

 

2μ£Όμ°¨ κ°•μ˜ μ£Όμ œλŠ” μžλ£Œν˜•μž…λ‹ˆλ‹€.

01. λ³€μˆ˜μ˜ 이해

1. λ³€μˆ˜μ™€ κ°’

>>> dsob = "swu"
>>> print(dsob)
swu
  • dsob = “swu“ 의 의미?
    1. dsob의 이름은 swu이닀.
    2. dsob은 swu이닀.
    3. dsobκ³Ό swuλŠ” κ°™λ‹€.
    4. dsob에 swuλ₯Ό 넣어라.
  • ‘ = ’ 기호의 의미
    • 일반적으둜 → ‘~와 κ°™λ‹€’
    • ν”„λ‘œκ·Έλž˜λ°μ—μ„œ → ‘dsob μ΄λΌλŠ” 곡간에 swu λΌλŠ” κΈ€μžλ₯Ό 넣어라.’
    • → dsob μ΄λΌλŠ” λ³€μˆ˜μ— swu λΌλŠ” 값을 넣어라.

>>> a = 7
>>> b = 5
>>> print(a + b)
12

>>> a = 7
>>> b = 5
>>> print("a + b")
a + b
  • λ”°μ˜΄ν‘œ(“ “) μ‚¬μš© 여뢀에 λ”°λ₯Έ print( )λ¬Έ
    • print(a + b)
    • → a λ³€μˆ˜μ— μžˆλŠ” κ°’κ³Ό b λ³€μˆ˜μ— μžˆλŠ” 값을 λ”ν•˜μ—¬ 화면에 좜λ ₯ν•˜λΌ.
    • print(“a + b”)파이썬 μΈν„°ν”„λ¦¬ν„°λŠ” λ”°μ˜΄ν‘œ μ•ˆμ˜ 문자λ₯Ό ν•˜λ‚˜μ˜ κ°’μœΌλ‘œ μ΄ν•΄ν•œλ‹€.
    • → ‘a + b’ λΌλŠ” 문자λ₯Ό κ·ΈλŒ€λ‘œ 화면에 좜λ ₯ν•˜λΌ.
  • ν• λ‹Ή(assignment)
    • νŒŒμ΄μ¬μ—μ„œλŠ” ‘λ³€μˆ˜ variable’와 ‘κ°’ value’을 톡해 λͺ¨λ“  ν”„λ‘œκ·Έλž˜λ°μ„ μ‹œμž‘ν•¨.
    • ν• λ‹Ή assignment : ν”„λ‘œκ·Έλž˜λ°μ—μ„œ λ³€μˆ˜μ— 값을 λ„£λŠ” κ³Όμ •.

Q. ν• λ‹Ή 과정이 일어날 λ•Œ, μ»΄ν“¨ν„°μ—μ„œλŠ” μ–΄λ–€ 일이 μΌμ–΄λ‚ κΉŒ?

λ³€μˆ˜κ°€ λ“€μ–΄κ°€λŠ” 값은 μ»΄ν“¨ν„°μ˜ μ–΄λŠ μœ„μΉ˜μ— μ €μž₯될까?

 

2. λ³€μˆ˜μ™€ λ©”λͺ¨λ¦¬

  • λ³€μˆ˜μ˜ κ°œλ…
    μˆ˜ν•™μ—μ„œλŠ” ‘λ³€ν•  수 μžˆλŠ” 수’ ex) 2x + 7y
    ν”„λ‘œκ·Έλž˜λ°μ—μ„œλŠ” ‘μ–΄λ– ν•œ 값을 μ €μž₯ν•˜λŠ” μž₯μ†Œ’
  • λ©”λͺ¨λ¦¬μ˜ κ°œλ…
    • λ³€μˆ˜μ˜ 값이 μ €μž₯λ˜λŠ” 곡간
    • λ©”λͺ¨λ¦¬ μ£Όμ†Œ : λ³€μˆ˜μ˜ μ €μž₯ μœ„μΉ˜
    • λ³€μˆ˜μ— λ“€μ–΄κ°€λŠ” 값은 λ°˜λ“œμ‹œ μ–΄λ–€ νŠΉμ •ν•œ λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό κ°–λŠ”λ‹€.
  • λ©”λͺ¨λ¦¬ memory
    • ν”νžˆ μƒκ°ν•˜λŠ” λ©”λͺ¨λ¦¬ → RAM (Random Access Memory)
    • dsob = “swu” , a = 3, b = 7 κ³Ό 같은 λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜λ©΄ λ©”λͺ¨λ¦¬ μ–΄λ”˜κ°€μ— μ£Όμ†Œκ°’μ„ ν• λ‹Ήλ°›μ•„ μ €μž₯λœλ‹€.
    • RAM 은 νœ˜λ°œμ„±(volatile) μ΄λΌλŠ” μ„±μ§ˆμ΄ μžˆμ–΄ 컴퓨터에 전원이 듀어와 μžˆλŠ” λ™μ•ˆμ—λ§Œ μ €μž₯λœλ‹€.
    • λ©”λͺ¨λ¦¬ 곡간은 λ°˜λ“œμ‹œ μ£Όμ†Œκ°’μ„ κ°€μ§€κ²Œ λ˜μ–΄ 있음.
    • λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜μ—¬ 값을 μ €μž₯ν•˜λ©΄, μš΄μ˜μ²΄μ œμ™€ 파이썬 인터프리터가 μ„œλ‘œ ν˜‘λ ₯ν•˜μ—¬, μ„ μ–Έν•œ λ³€μˆ˜λ₯Ό λ©”λͺ¨λ¦¬ 곡간 μ–΄λ”˜κ°€μ— μ €μž₯μ‹œν‚€κ³  λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό κ³΅μœ ν•¨.
  • λ³€μˆ˜ variable κ°œλ… 정리
    • ν”„λ‘œκ·Έλž¨μ—μ„œ νŠΉμ •ν•œ 값을 μ €μž₯ν•˜λŠ” κ³΅κ°„μ˜ 이름을 λœ»ν•¨.
    • λ³€μˆ˜μ— 값을 λ„£μœΌλΌκ³  μ„ μ–Έ → λ©”λͺ¨λ¦¬ μ–΄λ”˜κ°€μ— 물리적 곡간을 확보할 수 μžˆλ„λ‘ μš΄μ˜μ²΄μ œμ™€ 파이썬 인터프리터가 ν˜‘λ ₯ν•˜μ—¬ λ©”λͺ¨λ¦¬ μ €μž₯ μœ„μΉ˜λ₯Ό 할당함. (= λ©”λͺ¨λ¦¬ μ£Όμ†Œ)

3. λ³€μˆ˜λͺ… μ„ μ–Έ μ‹œ ꢌμž₯ 및 κ·œμΉ™μ‚¬ν•­

  • μ•ŒνŒŒλ²³, 숫자, 밑쀄( _ )둜 μ„ μ–Έν•΄μ•Ό ν•˜λ©°, ν•œκΈ€μ€ μ‚¬μš© λΆˆκ°€λŠ₯함.
  • λŒ€μ†Œλ¬Έμž ꡬ뢄
    • νŒŒμ΄μ¬μ—μ„œλŠ” ‘Dsob’κ³Ό ‘dsob’은 μ„œλ‘œ λ‹€λ₯Έ λ³€μˆ˜μ΄λ‹€. λͺ¨λ“  λ³€μˆ˜λͺ…은 λ˜λ„λ‘ μ†Œλ¬Έμžλ‘œ κ΅¬μ„±ν•˜μž.
  • νŠΉλ³„ν•œ μ˜λ―Έκ°€ μžˆλŠ” μ˜ˆμ•½μ–΄λŠ” λ³€μˆ˜λͺ…μœΌλ‘œ μ‚¬μš©ν•  수 μ—†λ‹€.
    • for, if, else, except λ“±
  • λ‹€λ₯Έ μ‚¬λžŒμ΄ 읽어도 이해할 수 μžˆλŠ” μ΄λ¦„μœΌλ‘œ λ³€μˆ˜λͺ… μ„ μ–Έν•˜κΈ°
    • ν”„λ‘œκ·Έλž¨μ€ ν˜Όμžκ°€ μ•„λ‹Œ μ—¬λŸ¬ μ‚¬λžŒκ³Ό ν•¨κ»˜ λ§Œλ“€κ²Œ λœλ‹€. ν”„λ‘œκ·Έλž˜λ°μ„ ν•˜λŠ” μ‚¬λžŒλ“€ κ°„μ˜ μ μ ˆν•œ μ˜μ‚¬μ†Œν†΅μ΄ ν•„μš”ν•˜λ‹€. λ³€μˆ˜λͺ…은 의미 μžˆλŠ” μ΄λ¦„μœΌλ‘œ μ„ μ–Έν•˜μž.

02. μžλ£Œν˜•κ³Ό κΈ°λ³Έ μ—°μ‚°

1. λ©”λͺ¨λ¦¬ 곡간

  • ν•˜λ‚˜μ˜ λ³€μˆ˜λ₯Ό λ©”λͺ¨λ¦¬μ— μ €μž₯ν•  λ–„ κ·Έ λ³€μˆ˜μ˜ 크기만큼 곡간(μΌμ •ν•œ μš©λŸ‰)을 ν• λ‹Ήλ°›μŒ. ex) 1KB, 10KB, 2MB λ“±
  • μ»΄ν“¨ν„°λŠ” 0κ³Ό 1의 두 가지 μ •λ³΄λ§Œ μ €μž₯ κ°€λŠ₯ → μ΄μ§„μˆ˜ μ‚¬μš©.
    μ΄μ§„μˆ˜ ν•œ 자리 = λΉ„νŠΈ bit 8개의 λΉ„νŠΈ = 1 λ°”μ΄νŠΈ byte 1024 λ°”μ΄νŠΈ = 1 ν‚¬λ‘œλ°”μ΄νŠΈ kilobyte (KB) 1024 ν‚¬λ‘œλ°”μ΄νŠΈ = 1 λ©”κ°€λ°”μ΄νŠΈ megabyte (MB)
  • 컴퓨터가 μ΄μ§„μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” 이유
    • μ»΄ν“¨ν„°μ˜ λ©”λͺ¨λ¦¬λŠ” μ‹€λ¦¬μ½˜μœΌλ‘œ λ§Œλ“  λ°˜λ„μ²΄μ΄λ‹€. λ°˜λ„μ²΄μ˜ κ°€μž₯ 큰 νŠΉμ§•μ€ μ–΄λ–€ μžκ·Ήμ„ μ£Όμ—ˆμ„ λ•Œ μ „κΈ°κ°€ 톡할 수 μžˆμ–΄ μ „λ₯˜μ˜ 흐름을 μ œμ–΄ν•  수 μžˆλ‹€λŠ” 것이닀.
    • μ΄λŸ¬ν•œ μ„±μ§ˆμ„ μ΄μš©ν•˜μ—¬ λ°˜λ„μ²΄μ— μ „λ₯˜κ°€ 흐λ₯Ό λ•ŒλŠ” 1, 흐λ₯΄μ§€ μ•Šμ„ λ•ŒλŠ” 0μ΄λΌλŠ” 숫자둜 ν‘œν˜„ν•  수 μžˆλ‹€. λ”°λΌμ„œ λ©”λͺ¨λ¦¬λŠ” μ „λ₯˜μ˜ 흐름을 μ΄μ§„μˆ˜λ‘œ ν‘œν˜„ν•˜λŠ” 것이닀.

2. κΈ°λ³Έ μžλ£Œν˜•

  • λ³€μˆ˜μ˜ μžλ£Œν˜• data type 에 μ˜ν•΄ κ²°μ •λœλ‹€. μžλ£Œν˜•μ€ λ³€μˆ˜κ°€ μ–΄λ–€ ν˜•νƒœμ˜ 데이터λ₯Ό μ €μž₯ν•˜λŠ”κ°€λ₯Ό λ‚˜νƒ€λ‚΄λ©° 기본적으둜 μ •μˆ˜ν˜•, μ‹€μˆ˜ν˜•, λ¬Έμžν˜•, λΆˆλ¦°ν˜•μ΄ μžˆλ‹€.
  • 2.1 μ •μˆ˜ν˜• integer type
    • κ°’μ˜ μ˜μ—­μ΄ μ •μˆ˜λ‘œ ν•œμ •λœ κ°’
    • data = 1 κ³Ό 같은 λ°©μ‹μœΌλ‘œ μ„ μ–Έν•˜λ©°, 파이썬의 인터프리터가 μ•Œμ•„μ„œ λ©”λͺ¨λ¦¬ μ˜μ—­μ— ν•„μš”ν•œ 곡간을 확보함.
    • λ©”λͺ¨λ¦¬ 곡간은 λ³€μˆ˜μ˜ μžλ£Œν˜•κ³Ό 컴퓨터 μ‹œμŠ€ν…œμ˜ νƒ€μž…(32bit, 64bit)에따라 닀름.
  • 2.2 μ‹€μˆ˜ν˜• floating-point type
    • μ†Œμˆ˜μ μ΄ ν¬ν•¨λœ κ°’ ex) 10.2 , 7.2 …
    • 값이 μ •μˆ˜ν˜•μ΄λΌλ„ 9.0으둜 μž…λ ₯ν•˜λ©΄ μΈν„°ν”„λ¦¬ν„°λŠ” μ‹€μˆ˜ν˜•μœΌλ‘œ 해석함.
    • 뢀동 μ†Œμˆ˜μ (floating-point) : μ»΄ν“¨ν„°μ—μ„œ μ‹€μˆ˜λ₯Ό ν‘œμ‹œν•˜λŠ” 방법. μœ νš¨μˆ«μžμ™€ μ†Œμˆ˜μ μ˜ μœ„μΉ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ μ‹€μˆ˜λ₯Ό ν‘œν˜„ν•¨.
  • 2.3 λ¬Έμžν˜• string type
    • 문자둜 좜λ ₯λ˜λŠ” μžλ£Œν˜• νŒŒμ΄μ¬μ—μ„œλŠ” 보톡 λ”°μ˜΄ν‘œμ— λ“€μ–΄κ°„ 정보λ₯Ό λ¬Έμžν˜• 데이터라고 함.
  • 2.4 λΆˆλ¦°ν˜• boolean type
    • λ…Όλ¦¬ν˜• 이라고도 ν•˜λ©°, μ°Έ λ˜λŠ” 거짓(True / False)을 ν‘œν˜„ν•  λ•Œ μ‚¬μš©ν•¨.
    • 값이 True 라면 참을 μ˜λ―Έν•˜λ©°, μ»΄ν“¨ν„°μ—μ„œλŠ” 1을 λœ»ν•¨. 값이 False 라면 거짓을 μ˜λ―Έν•˜λ©°, μ»΄ν“¨ν„°μ—μ„œλŠ” 0을 λœ»ν•¨.
  • λ„ν‘œ 정리
    μˆ˜μΉ˜ν˜• μ •μˆ˜ν˜• μ–‘μˆ˜μ™€ μ •μˆ˜ 1, 2, 3, 100, -9 data = 1
    μˆ˜μΉ˜ν˜• μ‹€μˆ˜ν˜• μ†Œμˆ˜μ μ΄ ν¬ν•¨λœ μ‹€μˆ˜ 10.2 , -9.3 , 9.0 data = 9.0
    λ¬Έμžν˜• λ¬Έμžν˜• λ”°μ˜΄ν‘œμ— λ“€μ–΄κ°€ μžˆλŠ” λ¬Έμžν˜• abc, a20abc data = ‘abc’
    λ…Όλ¦¬ν˜• λΆˆλ¦°ν˜• μ°Έ λ˜λŠ” 거짓 True, False data = True
  • 동적 타이핑(dynamic typing)
    • λ³€μˆ˜μ˜ λ©”λͺ¨λ¦¬ 곡간을 ν™•λ³΄ν•˜λŠ” ν–‰μœ„κ°€ ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ μ‹œμ μ—μ„œ λ°œμƒν•˜λŠ” 것
    • λ³€μˆ˜μ˜ μžλ£Œν˜•μ„ ν”„λ‘œκ·Έλž˜λ¨Έκ°€ μ•„λ‹Œ 인터프리터가 νŒλ‹¨ν•¨.
    • 이λ₯Ό ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ μ‹œμ μ— λ™μ μœΌλ‘œ νŒλ‹¨ν•¨. → ‘파이썬 μ–Έμ–΄κ°€ λ™μ μœΌλ‘œ μžλ£Œν˜•μ„ κ²°μ •ν•œλ‹€.’
    • λ³€μˆ˜μ— μžˆλŠ” 값을 λ©”λͺ¨λ¦¬μ— μ €μž₯ν•˜κΈ° μœ„ν•΄ 일정 λ©”λͺ¨λ¦¬ 곡간을 ν• λ‹Ήλ°›μ•„μ•Ό 함.
    • νŒŒμ΄μ¬μ€ 맀우 μœ μ—°ν•œ μ–Έμ–΄λ‘œ, ν• λ‹Ήλ°›λŠ” λ©”λͺ¨λ¦¬ 곡간도 μ €μž₯λ˜λŠ” κ°’μ˜ 크기에 따라 λ™μ μœΌλ‘œ 할당받을 수 있음.
  • μ‹€ν–‰
>>> a = 1   # μ •μˆ˜ν˜•
>>> b = 1   # μ •μˆ˜ν˜•
>>> print(a, b)
1 1

>>> a = 1.5   # μ‹€μˆ˜ν˜•
>>> b = 3.5   # μ‹€μˆ˜ν˜•
>>> print(a, b)
1.5 3.5

>>> a = "ABC"      # λ¬Έμžν˜•
>>> b = "101010".  # λ¬Έμžν˜•
>>> print(a, b)
ABC 101010

>>> a = True     # λΆˆλ¦°ν˜•
>>> b = False    # λΆˆλ¦°ν˜•
>>> print(a, b)
True False

3. κ°„λ‹¨ν•œ μ—°μ‚°

μ—°μ‚°μž : + , - , , / 기호
ν”Όμ—°μ‚°μž : μ—°μ‚°μžμ— μ˜ν•΄ κ³„μ‚°λ˜λŠ” 숫자

  • 3.1 사칙연산(λ§μ…ˆ μ—°μ‚°μž λΊ„μ…ˆ μ—°μ‚°μž κ³±μ…ˆ μ—°μ‚°μž λ‚˜λˆ—μ…ˆ μ—°μ‚°μž)
    λ§μ…ˆ 기호( + ) λΊ„μ…ˆ 기호( - ) λ³„ν‘œ 기호( ∗ ) λΉ—κΈˆ 기호( / )
    >>> 25 + 30
    55
    
    >>> 30 - 12
    18
    
    >>> 50 * 3
    150
    
    >>> 30 / 5
    6.0
    
  •  
  • 3.2 제곱승
    >>> print(3 * 3 * 3 * 3 * 3)   # 3을 λ‹€μ„― 번 곱함
    243
    
    >>> print(3 ** 5)   # 3의 5승
    243
    
  • μ œκ³±μŠΉμ„ κ΅¬ν•˜λŠ” μ—°μ‚°μž : 2개의 λ³„ν‘œ 기호( ∗∗ )
  • 3.3 λ‚˜λˆ—μ…ˆμ˜ λͺ«κ³Ό λ‚˜λ¨Έμ§€(λͺ«μ„ λ°˜ν™˜ν•˜λŠ” μ—°μ‚°μž 2개의 λΉ—κΈˆ 기호( // ))
    λ‚˜λ¨Έμ§€ μ—°μ‚°μž λ°±λΆ„μœ¨ 기호( % )
    >>> print(7 // 2)   # 7 λ‚˜λˆ„κΈ° 2의 λͺ«
    3
    
    >>> print(7 % 2)   # 7 λ‚˜λˆ„κΈ° 2의 λ‚˜λ¨Έμ§€
    1
    
  • 3.4 증가 μ—°μ‚°κ³Ό κ°μ†Œ μ—°μ‚°
    • a += 1 은 a = a+1 κ³Ό 같은 뜻으둜 μ‚¬μš©λ¨
    • a = 1 μ„ μ–Έ ν›„ a = a+1 μž…λ ₯ν•˜λ©΄ → aλŠ” 1둜 μΉ˜ν™˜λ˜κ³ , 1+1 κ°€ λ‹€μ‹œ a에 할당됨

>>> a = 1          # λ³€μˆ˜ a에 1을 ν• λ‹Ή
>>> a = a + 1      # a에 1을 λ”ν•œ ν›„ κ·Έ 값을 λ‹€μ‹œ a에 ν• λ‹Ή
>>> print(a)       # a 좜λ ₯
2

>>> a += 1         # a 증가 μ—°μ‚°
>>> print(a)       # a 좜λ ₯
3

>>> a = a - 1      # aμ—μ„œ 1을 λΊ€ ν›„ κ·Έ 값을 λ‹€μ‹œ a에 ν• λ‹Ή
>>> a -= 1         # a κ°μ†Œ μ—°μ‚°
>>> print(a)       # a 좜λ ₯
1

03. μžλ£Œν˜• λ³€ν™˜

1. μ •μˆ˜ν˜•κ³Ό μ‹€μˆ˜ν˜• κ°„ λ³€ν™˜

  • μ •μˆ˜ν˜•μ„ μ‹€μˆ˜ν˜•μœΌλ‘œ λ³€ν™˜ : float( )
>>> a = 10          # a λ³€μˆ˜μ— μ •μˆ˜ 데이터 10 ν• λ‹Ή
>>> print(a)        # aλ₯Ό 좜λ ₯
10                  # aκ°€ μ •μˆ˜ν˜•μœΌλ‘œ 좜λ ₯

>>> a = float(10)   # aλ₯Ό μ‹€μˆ˜ν˜•μœΌλ‘œ λ³€ν™˜ / μ •μˆ˜ν˜•μΈ 경우 int( )
>>> print(a)        # aλ₯Ό 좜λ ₯
10.0                # aκ°€ μ‹€μˆ˜ν˜•μœΌλ‘œ 좜λ ₯
>>> a = 10          # a에 μ •μˆ˜ 데이터 10 ν• λ‹Ή
>>> b = 3           # b에 μ •μˆ˜ 데이터 3 ν• λ‹Ή
>>> print(a / b)    # μ‹€μˆ˜ν˜•μœΌλ‘œ a λ‚˜λˆ„κΈ° bλ₯Ό 좜λ ₯
3.3333333333333335  # μ‹€μˆ˜ν˜• κ²°κ³Όκ°’ 좜λ ₯
  • μ‹€μˆ˜ν˜•μ„ μ •μˆ˜ν˜•μœΌλ‘œ λ³€ν™˜ : int( )
>>> a = int(10.7)
>>> b = int(10.3)

>>> print(a + b)   # μ •μˆ˜ν˜• a와 b의 합을 좜λ ₯
20

>>> print(a)       # μ •μˆ˜ν˜• aκ°’ 좜λ ₯
10

>>> print(b)       # μ •μˆ˜ν˜• bκ°’ 좜λ ₯
10
  • μ†Œμˆ˜μ  μ΄ν•˜μ˜ 내림이 λ°œμƒν•¨.

  • ν˜• λ³€ν™˜μ„ ν•˜μ§€ μ•Šμ•„λ„ ν˜• λ³€ν™˜μ΄ μΌμ–΄λ‚˜λŠ” 경우
    • ‘10 / 3’ 처럼 λ³„λ„μ˜ ν˜• λ³€ν™˜μ„ ν•˜μ§€ μ•Šμ•„λ„ μžμ—°μŠ€λŸ½κ²Œ μžλ£Œν˜•μ΄ λ³€ν™˜λ˜λŠ” κ²½μš°κ°€ 있음. = 파이썬의 λŒ€ν‘œμ  νŠΉμ§•μΈ 동적 타이핑 λ•Œλ¬Έμ— λ‚˜νƒ€λ‚˜λŠ” ν˜„μƒ.
    • κ°’μ˜ 크기λ₯Ό 비ꡐ할 λ•Œ
      • ‘ 1 ‘(μ •μˆ˜ν˜•)κ³Ό ‘True’(λΆˆλ¦°ν˜•) → ‘ 1 == True ‘ 라고 μž…λ ₯ν•˜λ©΄ κ²°κ³ΌλŠ” True둜 좜λ ₯됨.
      • 아무것도 넣지 μ•Šμ€ ** 같은 λ¬Έμžμ—΄μ„ λΆˆλ¦°ν˜•κ³Ό λΉ„κ΅ν•˜λ©΄ False둜 인식됨.

2. μˆ«μžν˜•κ³Ό λ¬Έμžν˜• κ°„ λ³€ν™˜

  • λ¬Έμžν˜•μ„ μˆ«μžν˜•μœΌλ‘œ λ³€ν™˜
>>> a = '76.3'       # a에 λ¬Έμžν˜• 76.3을 ν• λ‹Ή → λ¬Έμžμ—΄μ„ 의미
>>> b = float(a)     # aλ₯Ό μ‹€μˆ˜ν˜•μœΌλ‘œ λ³€ν™˜ ν›„ b에 ν• λ‹Ή
>>> print(a)         # aκ°’ 좜λ ₯
76.3

>>> print(b)         # bκ°’ 좜λ ₯
76.3

>>> print(a + b)     # a와 bλ₯Ό 더함 → λ¬Έμžμ—΄κ³Ό μˆ«μžμ—΄μ˜ λ§μ…ˆμ΄ λΆˆκ°€λŠ₯ν•˜μ—¬ μ—λŸ¬ λ°œμƒ
Traceback (most recent call last):
		file "<stdin>", line 1, in <module>
TypeError: can only concatenate str (nor "float") to str

μˆ«μžν˜• 데이터와 λ¬Έμžν˜• λ°μ΄ν„°λŠ” κΈ°λ³Έ 연산이 λ˜μ§€ μ•ŠμŒ. 두 λ³€μˆ˜λ₯Ό λ”ν•˜κΈ° μœ„ν•΄μ„œλŠ” 두 λ³€μˆ˜μ˜ μžλ£Œν˜•μ„ 톡일해야 함.

>>> a = float(a)     # aλ₯Ό μ‹€μˆ˜ν˜•μœΌλ‘œ λ³€ν™˜ ν›„ a에 ν• λ‹Ή
>>> b = a            # μ‹€μˆ˜ν˜• a값을 b에 ν• λ‹Ή
>>> print(a + b)     # 두 μ‹€μˆ˜ν˜•μ„ λ”ν•œ ν›„ 좜λ ₯
152.6
  • μˆ«μžν˜•μ„ λ¬Έμžν˜•μœΌλ‘œ λ³€ν™˜ : str( )
>>> a = str(a)       # μ‹€μˆ˜ν˜• a값을 λ¬Έμžν˜•μœΌλ‘œ λ³€ν™˜ ν›„ a에 ν• λ‹Ή
>>> b = str(b)       # μ‹€μˆ˜ν˜• b값을 λ¬Έμžν˜•μœΌλ‘œ λ³€ν™˜ ν›„ b에 ν• λ‹Ή
>>> print(a + b)     # 두 값을 λ”ν•œ ν›„ 좜λ ₯
76.376.3             # λ¬Έμžν˜• κ°„ λ§μ…ˆμ€ λ¬Έμžμ—΄ κ°„ λ‹¨μˆœ μ—°κ²°
  • str( ) ν•¨μˆ˜ : 기쑴의 μ •μˆ˜ν˜•μ΄λ‚˜ μ‹€μˆ˜ν˜•μ„ λ¬Έμžμ—΄λ‘œ λ°”κΏˆ.
  • λ¬Έμžν˜• κ°„μ˜ λ§μ…ˆμ€ 숫자 연산이 μ•„λ‹Œ λ‹¨μˆœ 뢙이기(concatenate)κ°€ μΌμ–΄λ‚œλ‹€λŠ” 사싀을 κΈ°μ–΅ν•˜μž.

3. μžλ£Œν˜• ν™•μΈν•˜κΈ°

  • type( ) ν•¨μˆ˜ μ‚¬μš©ν•˜κΈ°
>>> a = int(10.3)     # aλŠ” μ •μˆ˜ν˜•μœΌλ‘œ 10.3을 ν• λ‹Ή
>>> b = float(10.3)   # bλŠ” μ‹€μˆ˜ν˜•μœΌλ‘œ 10.3을 ν• λ‹Ή
>>> c = str(10.3)     # cλŠ” λ¬Έμžν˜•μœΌλ‘œ 10.3을 ν• λ‹Ή

>>> type(a)           # a의 νƒ€μž…μ„ 좜λ ₯
<class 'int'>
>>> type(b)           # b의 νƒ€μž…μ„ 좜λ ₯
<class 'float'>
>>> type(c)           # c의 νƒ€μž…μ„ 좜λ ₯
<class 'str'>

μ •μˆ˜ν˜•: int, μ‹€μˆ˜ν˜• : float, λ¬Έμžν˜• : str

04. 리슀트

1. λ¦¬μŠ€νŠΈκ°€ ν•„μš”ν•œ 이유

  • 학생 100λͺ…μ˜ 성적 채점? 100개의 λ³€μˆ˜ 생성? → μ½”λ“œκ°€ 길어지고 μ‹œκ°„μ΄ 였래 κ±Έλ¦Ό!
  • 리슀트λ₯Ό μ΄μš©ν•˜λ©΄ ν•œ 개의 λ³€μˆ˜μ— λͺ¨λ“  값을 μ €μž₯ν•  수 있음. (일반적으둜 배열이라고 함)

2. 리슀트의 κ°œλ…

  • 리슀트 : ν•˜λ‚˜μ˜ λ³€μˆ˜μ— μ—¬λŸ¬ 값을 μ €μž₯ν•˜λŠ” μžλ£Œν˜•
  • μ‹œν€€μŠ€ μžλ£Œν˜• : νŒŒμ΄μ¬μ—μ„œ μ—¬λŸ¬ 데이터λ₯Ό ν•˜λ‚˜μ˜ λ³€μˆ˜μ— μ €μž₯ν•˜λŠ” 기법
  • μ—¬λŸ¬ 자료λ₯Ό μˆœμ„œλŒ€λ‘œ λ„£λŠ”λ‹€λŠ” λœ»μž„.
  • λ¦¬μŠ€νŠΈμ—λŠ” ν•˜λ‚˜μ˜ μžλ£Œν˜•λ§Œ μ €μž₯ν•˜μ§€ μ•Šκ³ , μ •μˆ˜ν˜•κ³Ό μ‹€μˆ˜ν˜•μ²˜λŸΌ λ‹€μ–‘ν•œ μžλ£Œν˜•μ„ ν¬ν•¨μ‹œν‚¬ 수 있음.

3. 인덱싱과 μŠ¬λΌμ΄μ‹±

  • 3.1 인덱싱 (indexing)
    • 인덱싱 : λ¦¬μŠ€νŠΈμ— μ €μž₯λ˜μ–΄ μžˆλŠ” 값에 μ ‘κ·Όν•˜κΈ° μœ„ν•΄ 이 κ°’μ˜ μƒλŒ€μ μΈ μ£Όμ†Œ offsetλ₯Ό μ‚¬μš©ν•˜λŠ” 것
    • 인덱슀 μ£Όμ†Œ, μΈλ±μŠ€κ°’ : 첫 번째 값을 0으둜 ν–ˆμ„ λ•Œ 첫 번째 κ°’κ³Ό μ–Όλ§ˆλ‚˜ λ–¨μ–΄μ Έ μžˆλŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 것
colors = ['red', 'blue', 'green']   # μˆœμ„œλŒ€λ‘œ 인덱슀 0, 1, 2
print(colors[0])
print(colors[2])
print(len(colors))
  • 3.2 μŠ¬λΌμ΄μ‹± (slicing)
    • μŠ¬λΌμ΄μ‹± : λ¦¬μŠ€νŠΈμ—μ„œ νŒŒμƒλœ κ°•λ ₯ν•œ κΈ°λŠ₯ 쀑 ν•˜λ‚˜, 리슀트의 인덱슀 κΈ°λŠ₯을 μ‚¬μš©ν•˜μ—¬ 전체 λ¦¬μŠ€νŠΈμ—μ„œ 일뢀λ₯Ό μž˜λΌλ‚΄μ–΄ μ‚¬μš©ν•˜λŠ” 것
    • μŠ¬λΌμ΄μ‹± κΈ°λ³Έ 문법 : λ³€μˆ˜λͺ…[μ‹œμž‘ 인덱슀 : λ§ˆμ§€λ§‰ 인덱슀]
cities = ['μ„œμšΈ', 'λΆ€μ‚°', '인천', 'λŒ€κ΅¬', 'λŒ€μ „', 'κ΄‘μ£Ό', 'μšΈμ‚°', 'μˆ˜μ›']
print(cities[0:6])

print(cities[0:5])
print(cities[5:])
  • 파이썬의 λ¦¬μŠ€νŠΈμ—μ„œ λ§ˆμ§€λ§‰ μΈλ±μŠ€κ°’μ€ 좜λ ₯λ˜μ§€ μ•ŠλŠ”λ‹€. 즉, ‘λ§ˆμ§€λ§‰ 인덱슀 -1’κΉŒμ§€λ§Œ 좜λ ₯λœλ‹€.
  • 3.3 λ¦¬λ²„μŠ€ 인덱슀 (reverse index)
    • κΈ°μ‘΄ μΈλ±μŠ€μ™€ 달리 λ§ˆμ§€λ§‰ κ°’λΆ€ν„° -1을 ν• λ‹Ήν•˜μ—¬ 첫 번쨰 κ°’κΉŒμ§€ μ—­μˆœμœΌλ‘œ μ˜¬λΌμ˜€λŠ” 방식
cities = ['μ„œμšΈ', 'λΆ€μ‚°', '인천', 'λŒ€κ΅¬', 'λŒ€μ „', 'κ΄‘μ£Ό', 'μšΈμ‚°', 'μˆ˜μ›']
print(cities[-8:])
  • 3.4 인덱슀 λ²”μœ„λ₯Ό λ„˜μ–΄κ°€λŠ” μŠ¬λΌμ΄μ‹± (slicing with over index)
```python
cities = ['μ„œμšΈ', 'λΆ€μ‚°', '인천', 'λŒ€κ΅¬', 'λŒ€μ „', 'κ΄‘μ£Ό', 'μšΈμ‚°', 'μˆ˜μ›']
print(cities[:])   # cities λ³€μˆ˜μ˜ μ²˜μŒλΆ€ν„° λκΉŒμ§€
print(cities[-50:50])  # λ²”μœ„λ₯Ό λ„˜μ–΄κ°ˆ 경우 μžλ™μœΌλ‘œ μ΅œλŒ€ λ²”μœ„λ₯Ό 지정   
```
  • 3.5 증가값 (step)
    • μŠ¬λΌμ΄μ‹±μ—μ„œλŠ” μ‹œμž‘ μΈλ±μŠ€μ™€ λ§ˆμ§€λ§‰ 인덱슀 외에도 λ§ˆμ§€λ§‰ μžλ¦¬μ— 증가값을 넣을 수 있음.
cities = ['μ„œμšΈ', 'λΆ€μ‚°', '인천', 'λŒ€κ΅¬', 'λŒ€μ „', 'κ΄‘μ£Ό', 'μšΈμ‚°', 'μˆ˜μ›']
print(cities[::2])   # 2μΉΈ λ‹¨μœ„λ‘œ
print(cities[::-1])   # μ—­μœΌλ‘œ μŠ¬λΌμ΄μ‹±

4. 리슀트의 μ—°μ‚°

  • 4.1 λ§μ…ˆ μ—°μ‚°
color1 = ['red', 'blue', 'green']
color2 = ['orange', 'black', 'white']
print(colorq + color2)    # 두 리슀트 ν•©μΉ˜κΈ°
print(len(color1))

total_color = color1 + color2
print(total_color)
  • color1, color2 리슀트 λ³€μˆ˜λ₯Ό 각각 λ§Œλ“€κ³  λ§μ…ˆ μ—°μ‚°μœΌλ‘œ 두 λ³€μˆ˜λ₯Ό ν•©μΉ˜λ©΄ 각각의 λ¦¬μŠ€νŠΈκ°€ ν•˜λ‚˜μ˜ 리슀트둜 합쳐져 좜λ ₯됨.
    κ·Έλ ‡λ‹€λ©΄ color1이 color2 λ³€μˆ˜μ— 영ν–₯을 λ°›μ•˜μ„κΉŒ?
    len() ν•¨μˆ˜λ‘œ 리슀트의 길이λ₯Ό 확인해보면 color1의 κΈΈμ΄λŠ” μ—¬μ „νžˆ 3μž„.
    → λ§μ…ˆ 연산을 ν•˜λ”λΌλ„ λ”°λ‘œ μ–΄λ”˜κ°€μ— λ³€μˆ˜ ν˜•νƒœλ‘œ μ €μž₯해주지 μ•ŠμœΌλ©΄ κΈ°μ‘΄ λ³€μˆ˜λ“€μ—λŠ” 아무 λ³€ν™”κ°€ μ—†μŒ.
  • 4.2 κ³±μ…ˆ μ—°μ‚°
    • λ¦¬μŠ€νŠΈμ— n을 κ³±ν–ˆμ„ λ•Œ ν•΄λ‹Ή 리슀트λ₯Ό n배만큼 λŠ˜λ €μ€€λ‹€.
    print(color1 * 2)    # color1 리슀트 2회 반볡
    
  • 4.3 in μ—°μ‚°
    • 포함 μ—¬λΆ€λ₯Ό ν™•μΈν•˜λŠ” μ—°μ‚°, ν•˜λ‚˜μ˜ 값이 ν•΄λ‹Ή λ¦¬μŠ€νŠΈμ— λ“€μ–΄μžˆλŠ”μ§€ 확인할 수 있음.
    
    print('blue' in color2)   # color2 λ³€μˆ˜μ— λ¬Έμžμ—΄ 'blue' 있음?
    

5. 리슀트 μΆ”κ°€ 및 μ‚­μ œ

  • 5.1 append( ) ν•¨μˆ˜
    • 리슀트 맨 λ§ˆμ§€λ§‰ μΈλ±μŠ€μ— μƒˆλ‘œμš΄ 값을 μΆ”κ°€
    color = ['red', 'blue', 'green']
    color.append('white')  # λ¦¬μŠ€νŠΈμ— 'white' μΆ”κ°€
    print(color)
    
  • 5.2 extend( ) ν•¨μˆ˜
    • 리슀트의 λ§μ…ˆ μ—°μ‚°κ³Ό κ°™μŒ.
    • 값을 μΆ”κ°€ν•˜λŠ” 것이 μ•„λ‹Œ κΈ°μ‘΄ λ¦¬μŠ€νŠΈμ— κ·ΈλŒ€λ‘œ μƒˆλ‘œμš΄ 리슀트λ₯Ό ν•©μΉ˜λŠ” κΈ°λŠ₯을 함.
    color = ['red', 'blue', 'green']
    color.extend(['black', 'purple'])
    print(color)
    
  • 5.3 insert( ) ν•¨μˆ˜
    • append( ) ν•¨μˆ˜μ™€ 달리 리슀트의 νŠΉμ • μœ„μΉ˜μ— 값을 좔가함.
    • 리슀트의 맨 λ§ˆμ§€λ§‰μ— 값이 λ“€μ–΄κ°€λŠ” 것이 μ•„λ‹ˆλΌ μ§€μ •ν•œ μœ„μΉ˜μ— 값이 듀어감.
    color = ['red', 'blue', 'green']
    color.insert(0, 'orange')
    print(color)
    
  • 5.4 remove( ) ν•¨μˆ˜
    • λ¦¬μŠ€νŠΈμ— μžˆλŠ” νŠΉμ • 값을 μ§€μš°λŠ” κΈ°λŠ₯을 함.
    color.remove('red')
    print(color)
    
  • 5.5 인덱슀의 μž¬ν• λ‹Ήκ³Ό μ‚­μ œ
color = ['red', 'blue', 'green']
color[0] = 'orange'
print(color)

del color[0]
print(color)

6. νŒ¨ν‚Ήκ³Ό μ–ΈνŒ¨ν‚Ή

t = [1, 2, 3]       # 1, 2, 3을 λ³€μˆ˜ t에 νŒ¨ν‚Ή
a, b, c = t         # t에 μžˆλŠ” κ°’ 1, 2, 3을 λ³€μˆ˜ a, b, c에 μ–ΈνŒ¨ν‚Ή
print(t, a, b, c)
  • νŒ¨ν‚Ή : ν•œ λ³€μˆ˜μ— μ—¬λŸ¬ 개의 데이터λ₯Ό ν• λ‹Ήν•˜λŠ” 것 자체. 리슀트 자체λ₯Ό λœ»ν•˜κΈ°λ„ 함.
  • μ–ΈνŒ¨ν‚Ή : ν•œ λ³€μˆ˜μ— μ—¬λŸ¬ 개의 데이터가 λ“€μ–΄μžˆμ„ λ•Œ 그것을 각각의 λ³€μˆ˜λ‘œ λ°˜ν™˜ν•˜λŠ” 방법
  • μ–ΈνŒ¨ν‚Ή μ‹œ ν• λ‹Ήλ°›λŠ” λ³€μˆ˜μ˜ κ°œμˆ˜κ°€ μ κ±°λ‚˜ 많으면 λͺ¨λ‘ μ—λŸ¬κ°€ λ°œμƒν•˜κ²Œ λœλ‹€.

7. 이차원 리슀트

  • 이차원 리슀트 : ν‘œμ— 값을 채웠을 λ•Œ μƒκΈ°λŠ” κ°’λ“€μ˜ 집합
  • κ΅­μ–΄ 점수, μˆ˜ν•™ 점수, μ˜μ–΄ μ μˆ˜λŠ” 각각 ν•˜λ‚˜μ˜ 리슀트둜 보고 μ—¬λŸ¬ 개의 리슀트 값듀이 λͺ¨λ‘ ν•˜λ‚˜λ¦ 리슀트 λ³€μˆ˜μ— ν• λ‹Ήλ˜μ–΄ 이차원 λ¦¬μŠ€νŠΈκ°€ 됨.
kor_score = [49, 79, 20, 100, 80]
math_score = [43, 59, 85, 30, 90]
eng_score = [49, 79, 48, 60, 100]
midterm_score = [kor_score, math_score, eng_score]
print(midterm_score)

print(midterm_score[0][2])   # [0] ν–‰, [2] μ—΄ 

05. 리슀트의 λ©”λͺ¨λ¦¬ 관리 방식

1. 리슀트의 λ©”λͺ¨λ¦¬ μ €μž₯

  • νŒŒμ΄μ¬μ€ 리슀트λ₯Ό μ €μž₯ν•  λ•Œ κ°’ μžμ²΄κ°€ μ•„λ‹ˆλΌ 값이 μœ„μΉ˜ν•œ λ©”λͺ¨λ¦¬ μ£Όμ†Œ(reference)λ₯Ό μ €μž₯함. μ•„λž˜ κ·Έλ¦Όκ³Ό 같이, 리슀트 μ•ˆμ—λŠ” κ°’ 자체λ₯Ό μ €μž₯ν•˜λŠ” ꡬ쑰가 μ•„λ‹ˆλΌ κ·Έ 값이 μœ„μΉ˜ν•œ λ©”λͺ¨λ¦¬μ˜ μ£Όμ†Œ, 즉 ‘0x3172’와 같은 ‘μ£Όμ†Œκ°’’을 μ €μž₯ν•˜λŠ” κ²ƒμž„.
>>> a = 300
>>> b = 300
>>> a is b
False
>>> a == b
True
  • κ°’κ³Ό λ©”λͺ¨λ¦¬ μ£Όμ†Œκ°’μ˜ 차이
    • == : 값을 λΉ„κ΅ν•˜λŠ” μ—°μ‚°, is : λ©”λͺ¨λ¦¬μ˜ μ£Όμ†Œλ₯Ό λΉ„κ΅ν•˜λŠ” μ—°μ‚° 즉, a와 b에 μ €μž₯된 λ©”λͺ¨λ¦¬ μ£Όμ†Œκ°€ κ°€λ₯΄ν‚€λŠ” 값은 κ°™μ§€λ§Œ, a와 b λ³€μˆ˜ μžμ²΄μ— μ €μž₯λ˜μ–΄ μžˆλŠ” 값은 닀름

  • 파이썬의 μ •μˆ˜ν˜• μ €μž₯ 방식
>>> a = 1
>>> b = 1
>>> a is b
True
>>> a == b
True

νŒŒμ΄μ¬μ€ 인터프리터가 ꡬ동될 λ•Œ, -5λΆ€ν„° 256κΉŒμ§€μ˜ μ •μˆ˜κ°’μ„ νŠΉμ • λ©”λͺ¨λ¦¬ μ£Όμ†Œμ— μ €μž₯함. 그리고 ν•΄λ‹Ή 숫자λ₯Ό ν• λ‹Ήν•˜λ €κ³  ν•  λ•Œ ν•΄λ‹Ή λ³€μˆ˜λŠ” κ·Έ μˆ«μžκ°€ 가진 λ©”λͺ¨λ¦¬ μ£Όμ†Œλ‘œ 연결함. λ”°λΌμ„œ μ£Όμ†Œμ™€ 값이 λͺ¨λ‘ 같은 κ²ƒμœΌλ‘œ λ‚˜μ˜€λŠ” κ²ƒμž„.

2. λ©”λͺ¨λ¦¬ μ €μž₯ ꡬ쑰둜 μΈν•œ 리슀트의 νŠΉμ§•

  • 2.1 ν•˜λ‚˜μ˜ λ¦¬μŠ€νŠΈμ— λ‹€μ–‘ν•œ μžλ£Œν˜• 포함 κ°€λŠ₯
    # 쀑첩 리슀트
    a = ["color", 1, 0.2]
    color = ['yellow', 'blue', 'green']
    a[0] = color    # 리슀트 μ•ˆμ— 리슀트 μž…λ ₯ κ°€λŠ₯!
    print(a)
    
    파이썬의 λ¦¬μŠ€νŠΈκ°€ 값이 μ•„λ‹Œ λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό μ €μž₯ν•œλŠ 방식이기 λ•Œλ¬Έμ— μƒˆλ‘œμš΄ 값을 μ €μž₯ν•˜λŠ” 것이 맀우 μžμœ λ‘œμ›€.
  • 2.2 리슀트의 μ €μž₯ 방식
a = [5, 4, 3, 2, 1]
b = [1, 2, 3, 4, 5]
b = a
print(b)
# aλ³€μˆ˜μ™€ 같은 값이 좜λ ₯되겠죠?
# 그러면 a만 μ •λ ¬ν•œ ν›„ bλ₯Ό 좜λ ₯ν•˜λ©΄?
a.sort()  #sort() λ¦¬μŠ€νŠΈμ— μžˆλŠ” κ°’λ“€μ˜ μˆœμ„œλ₯Ό μ˜€λ¦„μ°¨μˆœμœΌλ‘œ λ³€ν™˜
print(b)

aλ₯Ό sorting ν–ˆλŠ”λ° b도 정렬됨. b=a λ₯Ό μž…λ ₯ν•˜λŠ” μˆœκ°„ b에도 a리슀트의 λ©”λͺ¨λ¦¬ μ£Όμ†Œκ°€ μ €μž₯되기 λ•Œλ¬Έ. 두 λ³€μˆ˜κ°€ 같은 λ©”λͺ¨λ¦¬ μ£Όμ†Œκ°€ μ €μž₯λ˜μ–΄ 있고, 같은 λ¦¬μŠ€νŠΈκ°’μ„ κ°€λ₯΄ν‚€κ³  μžˆμœΌλ―€λ‘œ μ‹€μ œλ‘œ ν•˜λ‚˜μ˜ 값이 λ°”λ€Œλ”λΌλ„ λ‘˜ λ‹€ 바뀐 λ¦¬μŠ€νŠΈκ°’μ„ λ³΄μ—¬μ£Όκ²Œ 됨.


a = [5, 4, 3, 2, 1]
b = [1, 2, 3, 4, 5]
b = a
print(b)
# aλ³€μˆ˜μ™€ 같은 값이 좜λ ₯되겠죠?
# 그러면 a만 μ •λ ¬ν•œ ν›„ bλ₯Ό 좜λ ₯ν•˜λ©΄?
a.sort()  #sort() λ¦¬μŠ€νŠΈμ— μžˆλŠ” κ°’λ“€μ˜ μˆœμ„œλ₯Ό μ˜€λ¦„μ°¨μˆœμœΌλ‘œ λ³€ν™˜
print(b)

# b에 μƒˆλ‘œμš΄ 값을 ν• λ‹Ήν•˜λ©΄ μ–΄λ–€ λ³€ν™”κ°€ λ‚˜νƒ€λ‚ κΉŒ?
b = [6, 7, 8, 9, 10]
print(a, b)

b에 μƒˆλ‘œμš΄ 값을 ν• λ‹Ήν•˜λ©΄ a와 bλŠ” λ‹€λ₯Έ λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό ν• λ‹Ήλ°›μŒ.

b=a μ½”λ“œμ—μ„œ… μ–΄λ–€ λ¦¬μŠ€νŠΈκ°’μ„ ν•˜λ‚˜μ˜ λ³€μˆ˜μ— ν• λ‹Ήν•˜λŠ” μˆœκ°„ 두 λ³€μˆ˜λŠ” 같은 λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό ν• λ‹Ήλ°›κ²Œ λœλ‹€λŠ” 것을 κΈ°μ–΅ν•˜μž.