///
Search

์Šฌ๋ผ์ด์‹ฑ

๋ถ„๋ฅ˜
๋ฌธ๋ฒ•
์†์„ฑ
์ƒ์„ฑ์ผ
2022/06/28 14:22
์ตœ์ข… ์ˆ˜์ •
2022/06/28 14:28
[Python] ํŒŒ์ด์ฌ ์Šฌ๋ผ์ด์‹ฑ(slicing) ๊ธฐ๋ณธ๊ณผ ์˜ˆ์ œ
Python์—์„œ ๋ฆฌ์ŠคํŠธ๋ฅผ ์Šฌ๋ผ์ด์‹ฑํ•ด์„œ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž ์Šฌ๋ผ์ด์‹ฑ(slicing) or ์Šฌ๋ผ์ด์Šค(slice): ์—ฐ์†์ ์ธ ๊ฐ์ฒด๋“ค์—(์˜ˆ: ๋ฆฌ์ŠคํŠธ, ํŠœํ”Œ, ๋ฌธ์ž์—ด) ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•ด ์„ ํƒํ•ด์„œ ๊ฐ์ฒด๋“ค์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ• ๋ฐ ํ‘œ๊ธฐ๋ฒ•์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์Šฌ๋ผ์ด์‹ฑ์„ ํ•˜๋ฉด ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ผ๋ถ€๋ถ„์„ ๋ณต์‚ฌํ•ด์„œ ๊ฐ€์ ธ์˜จ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. a๋ผ๋Š” ์—ฐ์†์ ์ธ ๊ฐ์ฒด๋“ค์˜ ์ž๋ฃŒ๊ตฌ์กฐ(์˜ˆ: ๋ฆฌ์ŠคํŠธ, ํŠœํ”Œ, ๋ฌธ์ž์—ด)๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •์„ ํ–ˆ์„ ๋•Œ ๊ธฐ๋ณธ ํ˜•ํƒœ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•๊ณผ ํ˜•ํƒœ

๊ธฐ๋ณธ ํ˜•ํƒœ

a[start : end : step]
Python
๋ณต์‚ฌ
โ€ข
a๋ผ๋Š” ์—ฐ์†์ ์ธ ๊ฐ์ฒด๋“ค์˜ ์ž๋ฃŒ๊ตฌ์กฐ(์˜ˆ: ๋ฆฌ์ŠคํŠธ, ํŠœํ”Œ, ๋ฌธ์ž์—ด)๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •์„ ํ–ˆ์„ ๋•Œ ๊ธฐ๋ณธ ํ˜•ํƒœ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.
โ€ข
๊ฐ๊ฐย start,ย end,ย stepย ๋ชจ๋‘ ์–‘์ˆ˜์™€ ์Œ์ˆ˜๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
start: ์Šฌ๋ผ์ด์‹ฑ์„ ์‹œ์ž‘ํ•  ์‹œ์ž‘์œ„์น˜์ž…๋‹ˆ๋‹ค.
โ€ข
end: ์Šฌ๋ผ์ด์‹ฑ์„ ๋๋‚ผ ์œ„์น˜๋กœ end๋Š” ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค!
โ€ข
step: stride(๋ณดํญ)๋ผ๊ณ ๋„ ํ•˜๋ฉฐ ๋ช‡๊ฐœ์”ฉ ๋Š์–ด์„œ ๊ฐ€์ ธ์˜ฌ์ง€์™€ ๋ฐฉํ–ฅ์„ ์ •ํ•ฉ๋‹ˆ๋‹ค. ์˜ต์…˜์ด๋ฉฐ ์•„๋ž˜์˜ ์˜ˆ์ œ๋ฅผ ํ™•์ธํ•˜๋ฉด ์‰ฝ๊ฒŒ ์ดํ•ด๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ธ๋ฑ์Šค ๊ฐ’๋“ค์˜ ์œ„์น˜

โ€ข
์œ„์— ์„ค๋ช…ํ•œ๋Œ€๋กœ ๊ฐ’๋“ค์€ย ์–‘์ˆ˜ย ํ˜น์€ย ์Œ์ˆ˜๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
์–‘์ˆ˜: ์—ฐ์†์ ์ธ ๊ฐ์ฒด๋“ค์˜ ์ œ์ผ ์•ž์—์„œ๋ถ€ํ„ฐ 0์„ ์‹œ์ž‘์œผ๋กœ ๋ฒˆํ˜ธ๋ฅผ ๋’ค์ชฝ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ ๋งค๊น๋‹ˆ๋‹ค.
โ€ข
์Œ์ˆ˜: ์—ฐ์†์ ์ธ ๊ฐ์ฒด๋“ค์˜ ์ œ์ผ ๋’ค์—์„œ๋ถ€ํ„ฐ -1์„ ์‹œ์ž‘์œผ๋กœ ๋ฒˆํ˜ธ๋ฅผ ์•ž์ชฝ์œผ๋กœ ๊ฐ์†Œํ•˜๋ฉด์„œ ๋งค๊น๋‹ˆ๋‹ค.
โ€ข
์•„๋ž˜๋Š”ย ['a', 'b', 'c', 'd', 'e']๋ผ๋Š” ๋ฆฌ์ŠคํŠธ๊ฐ€ ์žˆ์„ ๋•Œ ์ธ๋ฑ์Šค๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
a = ['a', 'b', 'c', 'd', 'e'] // Index References ------------------------------- | a | b | c | d | e | ------------------------------- | 0 | 1 | 2 | 3 | 4 | // ์–‘์ˆ˜์˜ ๊ฒฝ์šฐ ------------------------------- | -5 | -4 | -3 | -2 | -1 | // ์Œ์ˆ˜์˜ ๊ฒฝ์šฐ -------------------------------
Python
๋ณต์‚ฌ

์˜ˆ์ œ

โ€ข
๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ์˜ˆ์ œ๋“ค์€ย a = ['a', 'b', 'c', 'd', 'e']์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ†ตํ•ด์„œ ์ž‘์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํŠน์ • ์‹œ์ž‘์œ„์น˜๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๊ฐ€์ ธ์˜ค๊ธฐ

โ€ข
a[ start : ]
>>> a = ['a', 'b', 'c', 'd', 'e'] >>> a[ 1 : ] ['b', 'c', 'd', 'e']
Python
๋ณต์‚ฌ
>>> a = ['a', 'b', 'c', 'd', 'e'] >>> a[ -3 : ] ['c', 'd', 'e']
Python
๋ณต์‚ฌ

์‹œ์ž‘์ ๋ถ€ํ„ฐ ํŠน์ • ์œ„์น˜๊นŒ์ง€ ๊ฐ€์ ธ์˜ค๊ธฐ

โ€ข
a[ : end ]
>>> a = ['a', 'b', 'c', 'd', 'e'] >>> a[ : 2 ] ['a', 'b']
Python
๋ณต์‚ฌ
>>> a = ['a', 'b', 'c', 'd', 'e'] >>> a[ : -1 ] ['a', 'b', 'c', 'd']
Python
๋ณต์‚ฌ

ํŠน์ • ์œ„์น˜๋ถ€ํ„ฐ ํŠน์ • ์œ„์น˜๊นŒ์ง€ ๋ชจ๋‘ ๊ฐ€์ ธ์˜ค๊ธฐ

โ€ข
a[ start : end ]
>>> a = ['a', 'b', 'c', 'd', 'e'] >>> a[ 2 : 4 ] ['c', 'd']
Python
๋ณต์‚ฌ
>>> a = ['a', 'b', 'c', 'd', 'e'] >>> a[ -4 : -2 ] ['b', 'c']
Python
๋ณต์‚ฌ
>>> a = ['a', 'b', 'c', 'd', 'e'] # ์ธ๋ฑ์Šค 1 ~ 3๊นŒ์ง€์˜ ๊ฐ’์„ ๊ฑฐ๊พธ๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ >>> a[ 3 : 0 : -1] ['d', 'c', 'b']
Python
๋ณต์‚ฌ

step์˜ ์˜ˆ์ œ

โ€ข
a[ start : end : step ]
โ€ข
step์ด ์–‘์ˆ˜์ผ ๋•Œ: ์˜ค๋ฅธ์ชฝ์œผ๋กœ step๋งŒํผ ์ด๋™ํ•˜๋ฉด์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
โ€ข
step์ด ์Œ์ˆ˜์ผ ๋•Œ: ์™ผ์ชฝ์œผ๋กœ step๋งŒํผ ์ด๋™ํ•˜๋ฉด์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
>>> a = ['a', 'b', 'c', 'd', 'e'] # 2์นธ์”ฉ ์ด๋™ํ•˜๋ฉด์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. >>> a[ : : 2 ] ['a', 'c', 'e']
Python
๋ณต์‚ฌ
>>> a = ['a', 'b', 'c', 'd', 'e'] # 3์นธ์”ฉ ์ด๋™ํ•˜๋ฉด์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. >>> a[ -5 : : 3 ] ['a', 'd']
Python
๋ณต์‚ฌ
>>> a = ['a', 'b', 'c', 'd', 'e'] # ์ „์ฒด๋ฅผ ๊ฑฐ๊พธ๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. >>> a[ : : -1 ] ['e', 'd', 'c', 'b', 'a']
Python
๋ณต์‚ฌ
>>> a = ['a', 'b', 'c', 'd', 'e'] >>> a[ 3 : : -1 ] ['d', 'c', 'b', 'a']
Python
๋ณต์‚ฌ