๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Python/๊ฐœ๋… ์ •๋ฆฌ

[Python] ํŠœํ”Œ๊ณผ ๋ฆฌ์ŠคํŠธ

by eugene663 2021. 9. 12.

ํŠœํ”Œ

1. ์ƒ์„ฑ : , ( )

๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•œ ์š”์†Œ ์ด์ƒ์˜ ํŠœํ”Œ์€ ๊ฐ ์š”์†Œ ๋’ค์— ์ฝค๋งˆ(,)๋ฅผ ๋ถ™์ธ ์ฑ„ ๊ด„ํ˜ธ()์— ๋„ฃ์–ด ์ƒ์„ฑํ•œ๋‹ค. ๊ด„ํ˜ธ๋Š” ์ƒ๋žต ๊ฐ€๋Šฅํ•˜๋ฉฐ ์š”์†Œ๊ฐ€ ๋‘๊ฐœ ์ด์ƒ์ด๋ฉด ๋งˆ์ง€๋ง‰ ์ฝค๋งˆ๋„ ์ƒ๋žต ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฆ‰, ์š”์†Œ๊ฐ€ ํ•œ ๊ฐœ์ผ ๋•Œ ์ฝค๋งˆ(,)๋ฅผ ๊ผญ ์จ์ค˜์•ผ ํ•œ๋‹ค. ์ฝค๋งˆ๋ฅผ ์“ฐ์ง€ ์•Š์œผ๋ฉด ๋ฌธ์ž์—ด๋กœ ์ธ์‹๋œ๋‹ค. ๊ฐ’์€ ๊ณ ์œ ํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ค‘๋ณต ๊ฐ€๋Šฅํ•˜๋‹ค.

ํŠœํ”Œ ์ƒ์„ฑ

ํŠœํ”Œ์„ ์ด์šฉํ•˜์—ฌ ํ•œ๋ฒˆ์— ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํŠœํ”Œ ์–ธํŒจํ‚น์ด๋ผ๊ณ  ํ•œ๋‹ค.

ํŠœํ”Œ ์–ธํŒจํ‚น

2. tuple()

๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ํŠœํ”Œ๋กœ ๋งŒ๋“ค์–ด ์ค„ ์ˆ˜ ์žˆ๋‹ค.

3. ๊ฒฐํ•ฉ, ๋ณต์ œ, ๋น„๊ต , ์ˆœํšŒ

  • ๊ฒฐํ•ฉ: +
  • ๋ณต์ œ: *
  • ๋น„๊ต: ==, < , <= ๋“ฑ ์—ฐ์‚ฐ์ž
  • ์ˆœํšŒ: for in

 

4. ์ˆ˜์ •

ํŠœํ”Œ์€ ๋ถˆ๋ณ€ํ•˜๋‹ค. ์ฆ‰, ๊ฐ’์ด ๋ฐ”๋€” ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ ํŠœํ”Œ์€ ์‚ญ์ œ๋‚˜ ์ˆ˜์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. 

์ƒˆ ํŠœํ”Œ์„ ๋งŒ๋“ค์–ด ์ˆ˜์ •ํ•œ ๊ฒƒ ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ๊ฒƒ์ด์ง€ ํŠœํ”Œ ์ž์ฒด๊ฐ€ ์ˆ˜์ •๋œ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

 


๋ฆฌ์ŠคํŠธ

1. ์ƒ์„ฑ : [ ]

๋ฆฌ์ŠคํŠธ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. 0๊ฐœ ์ด์ƒ์˜ ์š”์†Œ๋กœ ๋งŒ๋“ค์–ด์ง„๋‹ค. ์ฝค๋งˆ(,) ๊ตฌ๋ถ„ํ•˜๊ณ  ๋Œ€๊ด„ํ˜ธ[]๋กœ ๋‘˜๋Ÿฌ์‹ธ์ธ ๊ตฌ์กฐ์ด๋‹ค. ๊ฐ’์€ ๊ณ ์œ ํ•˜์ง€ ์•Š์•„๋„ ๋˜๋ฉฐ ์ค‘๋ณต ๊ฐ€๋Šฅํ•˜๋‹ค. ๋˜ํ•œ ๋ฆฌ์ŠคํŠธ๋ฅผ ํฌํ•จํ•œ ๋‹ค๋ฅธ ํƒ€์ž…๋„ ์š”์†Œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.

ex) weekdays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

 

2. ์ƒ์„ฑ ๋ฐ ๋ณ€ํ™˜ : list()

๋นˆ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ๊ณ  ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋ฆฌ์ŠคํŠธ๋กœ ๋ฐ”๊ฟ” ์ค„ ์ˆ˜๋„ ์žˆ๋‹ค.

 

3. ๋ถ„ํ•  : split()

๊ด„ํ˜ธ ์•ˆ์˜ ๊ตฌ๋ถ„์ž๋ฅผ ๋‹จ์œ„๋กœ ๋ฌธ์ž์—ด์„ ๋ถ„ํ• ํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๊ตฌ๋ถ„์ž๊ฐ€ 2๊ฐœ ์—ฐ์†์œผ๋กœ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ๋นˆ ๋ฌธ์ž์—ด์ด ๋ฐ˜ํ™˜๋œ๋‹ค.

split() ๋ถ„ํ• 

4. ํ•ญ๋ชฉ ์–ป๊ธฐ

  • [offset]

๋ฌธ์ž์—ด๊ณผ ๊ฐ™๋‹ค. ๋งŒ์•ฝ offset์ด ๋ฆฌ์ŠคํŠธ์˜ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด๊ฐ€๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

offset์œผ๋กœ ํ•ญ๋ชฉ ์–ป๊ธฐ

  • ์Šฌ๋ผ์ด์Šค

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฌธ์ž์—ด๊ณผ ๊ฐ™๋‹ค. ์ž˜๋ชป๋œ offset์ผ ๋•Œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง„ ์•Š๊ณ , ์œ ํšจ ๋ฒ”์œ„์˜ offset์„ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜ ์•„๋ฌด๊ฒƒ๋„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š”๋‹ค.

[::-1]์€ ๋ฐ˜๋Œ€๋กœ ๋’ค์ง‘์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Š” ๋ฆฌ์ŠคํŠธ ์ž์ฒด๋ฅผ ๋’ค์ง‘์€ ๊ฒƒ์€ ์•„๋‹ˆ๊ณ  ๋’ค์ง‘์€ ์ฑ„ ์ถœ๋ ฅ๋œ ๊ฒƒ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋ฆฌ์ŠคํŠธ๋ฅผ ๋’ค์ง‘์€ ์ƒํƒœ๋ฅผ ๋ฐ˜์˜ํ•˜๋ ค๋ฉด list.reverse()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ๋‹จ, ๊ฐ’ ๋ฐ˜ํ™˜์€ ๋˜์ง€ ์•Š๋Š”๋‹ค.

 

5. ์ถ”๊ฐ€

  • append

: ๋์— 1๊ฐœ์”ฉ ์ถ”๊ฐ€ํ•œ๋‹ค.

  • offset, insert()

: ์›ํ•˜๋Š” ์œ„์น˜์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค offset์ด 0์ด๋ผ๋ฉด ์‹œ์ž‘์ ์—, ๋ฒ”์œ„๋ฅผ ๋„˜์–ด๊ฐ„ offset์ด๋ผ๋ฉด ์ œ์ผ ๋์— ์ถ”๊ฐ€ํ•˜๊ณ  ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.

insert()

6. ๋ณ‘ํ•ฉ : extend() , +

๋‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ•˜๋‚˜์˜ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณ‘ํ•ฉํ•œ๋‹ค.

๋ณ‘ํ•ฉํ•˜๊ธฐ

๋‘ ๋ฆฌ์ŠคํŠธ์— append() ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•˜๋ฉด ๋ณ‘ํ•ฉ์ด ์•„๋‹ˆ๋ผ, ๋ฆฌ์ŠคํŠธ ์•ˆ์— ๋ฆฌ์ŠคํŠธ๊ฐ€ ์ถ”๊ฐ€๋œ๋‹ค.

๋ฆฌ์ŠคํŠธ๋ฅผ append()

7. ๋ณต์ œ: *

๋ฌธ์ž์—ด, ํŠœํ”Œ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค.

 

 

8. ์ˆ˜์ • 

ํŠœํ”Œ๊ณผ ๋‹ค๋ฅด๊ฒŒ, ๋ฆฌ์ŠคํŠธ๋Š” ๊ฐ€๋ณ€์ด๋‹ค. ์ฆ‰, ์ˆ˜์ •๊ณผ ์‚ญ์ œ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•˜๋‹ค.

  • offset

์œ ํšจํ•œ ์œ„์น˜์˜ offset์„ ์ด์šฉํ•ด ํ•ญ๋ชฉ์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ฐ’์„ ๋Œ€์ž…ํ•˜๋ฉด ๋œ๋‹ค.

  • ์Šฌ๋ผ์ด์Šค

์Šฌ๋ผ์ด์Šค๋ฅผ ํ†ตํ•ด์„œ๋„ ํ•ญ๋ชฉ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํ• ๋‹น๋˜๋Š” ์˜ค๋ฅธ์ชฝ ๊ฐ’, ์ฆ‰ = ์˜ค๋ฅธ์ชฝ์˜ ๊ฐ’์˜ ์ˆ˜๋Š” ์™ผ์ชฝ ํ•ญ๋ชฉ์ˆ˜์™€ ๋‹ฌ๋ผ๋„ ๋œ๋‹ค. ๋˜ํ•œ ์˜ค๋ฅธ์ชฝ์€ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์•„๋‹ˆ์–ด๋„ ๋œ๋‹ค. ์ˆœํšŒ ๊ฐ€๋Šฅํ•œ ํƒ€์ž…์ด๋ผ๋ฉด ๋‹ค ๊ฐ€๋Šฅํ•˜๋‹ค.

๋ฆฌ์ŠคํŠธ, ํŠœํ”Œ, ๋ฌธ์ž์—ด์„ ํ†ตํ•ด ์ˆ˜์ •

9. ์‚ญ์ œ

  • del : offset ์ด์šฉ

del์€ ๋งค์„œ๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ ํŒŒ์ด์ฌ ๊ตฌ๋ฌธ์ด๋‹ค. ๋”ฐ๋ผ์„œ del ๋ฆฌ์ŠคํŠธ[offset]๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. offset์œผ๋กœ ๋ฆฌ์ŠคํŠธ์˜ ํ•ญ๋ชฉ์„ ์‚ญ์ œํ•˜๋ฉด, ์‚ญ์ œ๋œ ํ•ญ๋ชฉ ์ดํ›„์˜ ํ•ญ๋ชฉ์ด ํ•œ ์นธ์”ฉ ์•ž์œผ๋กœ ๋‹น๊ฒจ์ง€๊ณ  ๊ธธ์ด๋Š” 1์”ฉ ๊ฐ์†Œํ•œ๋‹ค.

del

  • remove() : ๊ฐ’ ์ด์šฉ

ํ•ญ๋ชฉ์˜ ๊ฐ’์„ ํ†ตํ•ด ์‚ญ์ œํ•œ๋‹ค. ์ค‘๋ณต๋œ ๊ฐ’์ด๋ผ๋ฉด ์ฒซ๋ฒˆ์งธ ํ•ญ๋ชฉ์„ ์‚ญ์ œํ•œ๋‹ค.

remove()

  • pop() : offset ์ด์šฉ

offset์œผ๋กœ ํ•ญ๋ชฉ์„ ์–ป์–ด ์‚ญ์ œํ•œ๋‹ค. ์ธ์ž๊ฐ€ ์—†๋Š” pop()๋Š” ๊ฐ€์žฅ ๋์˜ ํ•ญ๋ชฉ์„ ์‚ญ์ œํ•œ๋‹ค. ์ฆ‰ ํ›„์ž…์„ ์ถœ(LIFO)์˜ ์Šคํƒ๊ณผ ๊ฐ™๋‹ค. pop(0)์€ ์„ ์ž…์„ ์ถœ(FIFO)์˜ ํ์™€ ๊ฐ™๋‹ค.

  • clear() : ํ•ญ๋ชฉ ์ „์ฒด ์‚ญ์ œ

 

10. ...

  • index() : ํ•ญ๋ชฉ์˜ ๊ฐ’์œผ๋กœ offset์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. ์ค‘๋ณต๋œ ๊ฐ’์€ ์ฒซ๋ฒˆ์งธ offset๋งŒ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • in : ์กด์žฌ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ ์–ด๋„ ํ•˜๋‚˜ ์กด์žฌํ•˜๋ฉด True๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • count(): ํŠน์ • ํ•ญ๋ชฉ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • len() : ์ „์ฒด ํ•ญ๋ชฉ ๊ฐœ์ˆ˜, ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • ํ• ๋‹น : =๋ฅผ ์ด์šฉํ•œ๋‹ค. ๋‘๊ณณ์— ํ• ๋‹นํ–ˆ์„ ๋•Œ, ํ•œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ๋‹ค๋ฅธ ๋ฆฌ์ŠคํŠธ์—๋„ ๋ฐ˜์˜๋œ๋‹ค.
  • ๋น„๊ต: ==, <, <= ๋“ฑ ์—ฐ์‚ฐ์ž
  • ์ˆœํšŒ: for in 

 

11. join

๋ฌธ์ž์—ด ๋งค์„œ๋“œ๋กœ์„œ, ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. ๊ตฌ๋ถ„์ž๋ฅผ ํฌํ•จํ•˜์—ฌ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“ค์–ด์ค€๋‹ค. ์ธ์ˆ˜๋Š” ๋ฌธ์ž์—ด์„ ํฌํ•จํ•œ ์ˆœํšŒ ๊ฐ€๋Šฅํ•œ ์‹œํ€€์Šค์ด๋‹ค.

join()

split๊ณผ ๋ฐ˜๋Œ€๊ฐœ๋…์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

split()

12. ์ •๋ ฌ

  • sorted()

์ •๋ ฌ๋œ ๋ณต์‚ฌ๋ณธ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์›๋ณธ ๋ฆฌ์ŠคํŠธ๋Š” ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.

sorted()

  • sort()

๋ฆฌ์ŠคํŠธ๋ฅผ ๋‚ด๋ถ€์ ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.

๋ฆฌ์ŠคํŠธ์˜ ํ•ญ๋ชฉ๋“ค์ด ๋ชจ๋‘ ๊ฐ™์€ ํƒ€์ž…์ด๋ฉด ์ œ๋Œ€๋กœ ๋™์ž‘, ์ •์ˆ˜์™€ ๋ถ€๋™ ์†Œ์ˆ˜์ ์˜ ํ˜ผํ•ฉ ํ˜•ํƒœ๋„ ์ •๋ ฌ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ , ๋‚ด๋ฆผ์ฐจ์ˆœ์€ sort(reverse=True)์„ ์‚ฌ์šฉํ•œ๋‹ค.

sort()

13. ๋ณต์‚ฌ

  • ์–•์€ ๋ณต์‚ฌ

์›๋ณธ์„ ์ˆ˜์ •ํ•˜๋ฉด ๋ณต์‚ฌ๋œ ๋‹ค๋ฅธ ๋ฆฌ์ŠคํŠธ์—๋„ ๋ฐ˜์˜๋œ๋‹ค.

  • copy()
  • list()
  • ์Šฌ๋ผ์ด์Šค
    ์–•์€ ๋ณต์‚ฌ
  • ๊นŠ์€ ๋ณต์‚ฌ

์›๋ณธ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ๋ณต์‚ฌ๋ณธ์—๋Š” ๋ฐ˜์˜๋˜์ง€ ์•Š๋Š”๋‹ค.

  • deepcopy()

๊นŠ์€ ๋ณต์‚ฌ: deepcopy()

 

14. zip() : ์—ฌ๋Ÿฌ ์‹œํ€€์Šค ์ˆœํšŒ

๊ฐ€์žฅ ์งง์€ ์‹œํ€€์Šค๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๋ฉˆ์ถ˜๋‹ค. ์—ฌ๋Ÿฌ ์‹œํ€€์Šค๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ๋™์ผํ•œ offset์— ์žˆ๋Š” ํ•ญ๋ชฉ์œผ๋กœ๋ถ€ํ„ฐ ํŠœํ”Œ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

zip()

15. ๋ฆฌ์ŠคํŠธ ์ปดํ”„๋ฆฌํ—จ์…˜

for in์˜ ์ˆœํšŒ ๊ธฐ๋Šฅ์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. if์™€ ๋‹ค์ค‘ for๋ฌธ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  • [ ํ‘œํ˜„์‹ for ํ•ญ๋ชฉ in ์ˆœํšŒ ๊ฐ€๋Šฅ ๊ฐ์ฒด ]
  • [ ํ‘œํ˜„์‹ for ํ•ญ๋ชฉ in ์ˆœํšŒ ๊ฐ€๋Šฅ ๊ฐ์ฒด if ์กฐ๊ฑด ]

โ€ป ํŠœํ”Œ์€ ์ปดํ”„๋ฆฌํ—จ์…˜์ด ์—†๋‹ค. ์ปดํ”„๋ฆฌํ—จ์…˜์€ ๊ฐ€๋ณ€ ๋ฐ์ดํ„ฐ ํƒ€์ž…์—๋งŒ ์žˆ๋‹ค. []๋Œ€์‹  ()์„ ์‚ฌ์šฉํ•˜๋ฉด ํŠœํ”Œ์ด ์•„๋‹ˆ๋ผ ์ œ๋„ˆ๋ ˆ์ดํ„ฐ ์ปดํ”„๋ ˆ์ด์…˜์ด๋‹ค.

 

 

 

์ฐธ๊ณ  ๋ฐ ์ถœ์ฒ˜: ์ฒ˜์Œ ์‹œ์ž‘ํ•˜๋Š” ํŒŒ์ด์ฌ(๋นŒ ๋ฃจ๋ฐ”๋กœ๋‹‰, ํ•œ๋น›๋ฏธ๋””์–ด)