Study/python

[파이썬 볡슡] λ¦¬μŠ€νŠΈμ™€ λ”•μ…”λ„ˆλ¦¬ - 2023.02.07~08

Shinjio 2023. 2. 8. 20:43
λ°˜μ‘ν˜•
< μ—¬λŸ¬ 개의 값을 λ‚˜νƒ€λ‚Ό 수 있게 ν•΄μ£ΌλŠ” μžλ£Œν˜• ν•¨μˆ˜>

1. 리슀트(List)
2. λ”•μ…”λ„ˆλ¦¬(Dictionary)

 

1. 리슀트(List) 

1-1. 리슀트 μ„ μ–Έ & μš”μ†Œ μ ‘κ·Όν•˜κΈ°

[ κ°œλ… 정리 ]

- 리슀트 : μ—¬λŸ¬κ°€μ§€ 자료λ₯Ό μ €μž₯ν•  수 μžˆλŠ” μžλ£Œν˜•

- μš”μ†Œ : 리슀트 내뢀에 μžˆλŠ” 각각의 λ‚΄μš©

- 인덱슀 : 리슀트 λ‚΄λΆ€μ—μ„œ κ°’μ˜ μœ„μΉ˜

 

리슀트(List) ν•¨μˆ˜λž€,
λ³€μˆ˜μ— μ—¬λŸ¬κ°œμ˜ 값을 μ €μž₯ν•˜κ³  싢을 λ•Œ μ‚¬μš©ν•˜λŠ” ν•¨μˆ˜λ‘œ λŒ€κ΄„ν˜Έ [ ] 내뢀에 자료λ₯Ό λ„£μ–΄ μ„ μ–Έ

ex. numbers = [1, 2, 5, 0, 11]

      names = ["길동", "μ‚¬λž‘", "평화", "ν–‰μ§„"]

 

인덱싱(Indexing)μ΄λž€, μš”μ†Œλ₯Ό λ°›μ•„μ˜€λŠ” 것 

ex. print(numbers[2]) μž…λ ₯ν•˜λ©΄ 결과값은 5  β€» μΈλ±μ‹±μ‹œ μˆœμ„œλŠ” 0λΆ€ν„° μ‹œμž‘

      print(numbers[-1]) μž…λ ₯ν•˜λ©΄ 결과값은 11 β€» 음수λ₯Ό 톡해 λ’€μ—μ„œλΆ€ν„° μš”μ†Œ 선택 κ°€λŠ₯

 

인덱싱 μŠ¬λΌμ΄μ‹±μ„ 톡해 μš”μ†Œμ˜ λ²”μœ„ μ§€μ • κ°€λŠ₯

ex. print(numbers[0:3]) μž…λ ₯ν•˜κ³  μ‹€ν–‰ν•˜λ©΄ 결과값은 1, 2, 5 

      print(names[1: ] μž…λ ₯ ν›„ μ‹€ν–‰ν•˜λ©΄ 결과값은 μ‚¬λž‘, 평화, ν–‰μ§„

 

리슀트 μ—°μ‚°μž μ‚¬μš©, μš”μ†Œ μΆ”κ°€, 제거 μ‚¬μš© μ˜ˆμ‹œ

 

1-2. 리슀트 μ—°μ‚°μž

 

len : μš”μ†Œμ˜ 개수 κ΅¬ν•˜λŠ” μ—°μ‚°μž

+ : 리슀트 μš”μ†Œ μ—°κ²° 

* : 리슀트 μš”μ†Œ 반볡

 

1-3. 리슀트 μš”μ†Œ μΆ”κ°€

- .append( ) : 맨 였λ₯Έμͺ½μ— μš”μ†Œ κ°’ μΆ”κ°€

- .extend( ) : 맨 였λ₯Έμͺ½μ— μš”μ†Œ κ°’ μΆ”κ°€ / μ—¬λŸ¬κ°œμ˜ μš”μ†Œλ₯Ό μΆ”κ°€ν•  수 있음 (appendλ₯Ό μ—¬λŸ¬λ²ˆ μ‹€ν–‰ν•œ 효과)

.insert(n, m) : μ§€μ •ν•œ μœ„μΉ˜(n)에 μ§€μ •ν•œ μš”μ†Œ(m) μ‚½μž…

 

1-4. 리슀트 μš”μ†Œ 제거

1) 인덱슀둜 μ œκ±°ν•˜κΈ°

    : μš”μ†Œμ˜ μœ„μΉ˜(번호)λ₯Ό 기반으둜 μ œκ±°ν•˜λŠ” 방법 (Del, Pop μ‚¬μš©)

  - del 리슀트λͺ…[인덱슀]

  - 리슀트λͺ….pop(인덱슀)

β€» del 은 ':(인덱싱 μŠ¬λΌμ΄μ‹±)'을 ν™œμš©ν•˜μ—¬ μš”μ†Œλ₯Ό ν•œκΊΌλ²ˆμ— μ œκ±°ν•  수 있음 

 

2) κ°’μœΌλ‘œ μ œκ±°ν•˜κΈ°

    : 값을 μ§€μ •ν•΄μ„œ μ œκ±°ν•˜λŠ” 것 (Remove μ‚¬μš©)

 - 리슀트.remove(κ°’)

β€» 단 remove μ‚¬μš©μ‹œ 값이 리슀트 내뢀에 μ—¬λŸ¬κ°œκ°€ μ‘΄μž¬ν•΄λ„ κ°€μž₯ λ¨Όμ € λ°œκ²¬λ˜λŠ” 1개의 κ°’λ§Œ 제거됨.

    μ€‘λ³΅λœ μ—¬λŸ¬κ°œμ˜ 값을 μ œκ±°ν•˜κΈ° μœ„ν•΄μ„œλŠ” 반볡문 μ‚¬μš©

 

3) λͺ¨λ‘ μ œκ±°ν•˜κΈ° (Clear)

 - 리슀트.clear( )

 

in/not in μ‚¬μš© μ˜ˆμ‹œ

 

1-5. νŠΉμ • 값이 리슀트 내뢀에 μžˆλŠ”μ§€ 확인 : in/not in μ—°μ‚°μž

- κ°’ in 리슀트 (값이 리슀트 내에 μžˆλŠ”μ§€) / κ°’ not in 리슀트 (값이 리슀트 내에 μ—†λŠ”μ§€)

   → 결과값은 True ν˜Ήμ€ False둜 좜λ ₯됨

 

리슀트 μ •λ ¬ μ‚¬μš© μ˜ˆμ‹œ

1-6. 리슀트 μ •λ ¬ : sorted, sort

- sorted → κΈ°μ‘΄ λ¦¬μŠ€νŠΈλŠ” κ±΄λ“œλ¦¬μ§€ μ•Šκ³ , μ •λ ¬λœ μƒˆλ‘œμš΄ 리슀트λ₯Ό 리턴 (λΉ„νŒŒκ΄΄μ  μž‘λ™)

- sort  → κΈ°μ‘΄ 리슀트λ₯Ό μ •λ ¬, κ·ΈλŸ¬λ‚˜ λ¦¬ν„΄λ˜μ§€ μ•ŠμŒ (파괴적 μž‘λ™)

 

1-7. λ¬Έμ œν’€μ΄

1) greetings ν•¨μˆ˜μ˜ 각 μš”μ†Œλ₯Ό λͺ©λ‘μœΌλ‘œ 좜λ ₯ν•˜λŠ” 방법 

 

point 1. while 반볡문 μ‚¬μš©

point 2. while 쑰건을 len ν•¨μˆ˜ μ‚¬μš©ν•˜μ—¬ μž‘μ„±

 

2) 화씨 μ˜¨λ„λ₯Ό 섭씨 μ˜¨λ„λ‘œ λ³€ν™˜ν•˜μ—¬ 좜λ ₯

 

point 1. def ν•¨μˆ˜ μ‚¬μš©ν•˜μ—¬ ν™”μ”¨μ˜¨λ„λ₯Ό μ„­μ”¨μ˜¨λ„λ₯Ό λ³€ν™˜

point 2. while 반볡문 μ‚¬μš©ν•˜μ—¬ temperature_list의 각 μš”μ†Œλ₯Ό μˆœμ„œλŒ€λ‘œ μ„­μ”¨μ˜¨λ„λ‘œ λ³€ν™˜

point 3. round ν•¨μˆ˜ μ‚¬μš©ν•˜μ—¬ μ†Œμˆ˜μ  μ²«μ§Έμžλ¦¬κΉŒμ§€λ§Œ 좜λ ₯


3) 리슀트 κ°’ μΆ”κ°€, 제거, μ‚½μž…, μ •λ ¬

 

point 1. numbers μ—μ„œ ν™€μˆ˜ μ œκ±°μ‹œ if - else λ¬Έ μ‚¬μš©. else κ°€ μ—†λ‹€λ©΄ 7이 μ‚­μ œλ˜μ§€ μ•ŠμŒ. μ•„λž˜ 사진 μ°Έκ³ .

 

 

1-8. λ¦¬μŠ€νŠΈμ™€ ν•¨κ»˜ μ‚¬μš©λ˜λŠ” For 반볡문

for 반볡자 in λ°˜λ³΅ν•  수 μžˆλŠ” 것:

μ½”λ“œ

 

for 반볡문

 

β€» For ν•¨μˆ˜μ™€ 자주 μ“°μ΄λŠ” range ν•¨μˆ˜

 

for 반볡문,&nbsp; range ν•¨κ»˜ μ‚¬μš©

 

1-9. λ¬Έμ œν’€μ΄

1) for ν•¨μˆ˜ ν™œμš©ν•˜μ—¬ μš”μ†Œ κ°’κ³Ό μΈλ±μŠ€κ°’ 좜λ ₯

 

2) for, range μ‚¬μš©(1)

 

3) for, range μ‚¬μš©(2)

 

4) for, range μ‚¬μš©(3)

 

5) for, range μ‚¬μš©(4)

 

6) 리슀트 μš”μ†Œμ˜ 짝수/ν™€μˆ˜ μ—¬λΆ€, 자릿수 κ΅¬ν•˜κΈ°

 

point 1. 자릿수 κ΅¬ν•˜κΈ°λŠ” μˆ«μžν˜•μ„ λ¬Έμžν˜•μœΌλ‘œ λ°”κΎΌ ν›„ len ν•¨μˆ˜ μ‚¬μš©

 

7) 쀑첩 리슀트의 쀑첩 ν•΄μ œ

 

point 1. μΈλ±μŠ€μ—λŠ” μˆ˜μ‹μ„ 넣을 수 μžˆλ‹€.

 

 

2. Dictionary (λ”•μ…”λ„ˆλ¦¬)

 

λ”•μ…”λ„ˆλ¦¬

 

β€» λ¦¬μŠ€νŠΈκ°€ 인덱슀λ₯Ό 기반으둜 값을 μ €μž₯ν•˜λŠ” 것이라면, λ”•μ…”λ„ˆλ¦¬λŠ” ν‚€λ₯Ό 기반으둜 값을 μ €μž₯ν•˜λŠ” 것

 

λ”•μ…”λ„ˆλ¦¬λŠ” {} μ€‘κ΄„ν˜Έλ‘œ μ„ μ–Έν•˜λ©°, 'ν‚€:κ°’' ν˜•νƒœλ₯Ό μ‰Όν‘œ(,)둜 μ—°κ²°ν•΄μ„œ λ§Œλ“¦

ν‚€λŠ” λ¬Έμžμ—΄, 숫자, 뢈 λ“±μœΌλ‘œ μ„ μ–Έ κ°€λŠ₯ν•˜μ§€λ§Œ 일반적으둜 λ¬Έμžμ—΄μ„ μ‚¬μš©

단, λ”•μ…”λ„ˆλ¦¬μ˜ μš”μ†Œμ— μ ‘κ·Όν•  λ•ŒλŠ” λŒ€κ΄„ν˜Έ[ ]λ₯Ό μž…λ ₯ν•˜κ³  내뢀에 ν‚€ μž…λ ₯ 

 

2-1. λ”•μ…”λ„ˆλ¦¬μ— κ°’ μΆ”κ°€/제거

 

- λ”•μ…”λ„ˆλ¦¬[μƒˆλ‘œμš΄ν‚€] = μƒˆλ‘œμš΄κ°’

- λ”•μ…”λ„ˆλ¦¬[κΈ°μ‘΄ν‚€] = μƒˆλ‘œμš΄κ°’ → κΈ°μ‘΄ κ°’ 제거 ν›„ μƒˆλ‘œμš΄ κ°’μœΌλ‘œ λ³€κ²½

- del λ”•μ…”λ„ˆλ¦¬[ν‚€] → 제거

 

.values, .keys, in ν™œμš©

 

.values, .keys, items, for 반볡문 ν™œμš©

 

2-2. λ”•μ…”λ„ˆλ¦¬ 내뢀에 ν‚€ κ°’ μžˆλŠ”μ§€ 확인

 - in / get() ν•¨μˆ˜

 

2-3. λ”•μ…”λ„ˆλ¦¬ ν•¨μˆ˜μ™€ ν•¨κ»˜ μ‚¬μš©λ˜λŠ” For 반볡문

for ν‚€ λ³€μˆ˜ in λ”•μ…”λ„ˆλ¦¬

     μ½”λ“œ

 

2-4. λ¬Έμ œν’€μ΄

1) λ”•μ…”λ„ˆλ¦¬μ—μ„œ 킀와 κ°’ λ³€ν™˜ν•˜κΈ°

 

 

2) conter λ”•μ…”λ„ˆλ¦¬ κ΅¬μ„±ν•˜κΈ° (ν‚€ : numbers의 μš”μ†Œ, κ°’ : μš”μ†Œ 개수)

 

3) μ€‘μ²©λœ 리슀트, λ”•μ…”λ„ˆλ¦¬ 반볡문 적용

point 1. type() is str/list/dict 와 쑰건문 μ‚¬μš©ν•˜κΈ°

λ°˜μ‘ν˜•