๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ป Deep Wide Programming/Python

[Python] ๐Ÿ“šDataCamp: Introduction to Python๐Ÿ“š ํŒŒ์ด์ฌ ๊ธฐ์ดˆ#2 (List Type ๋ฆฌ์ŠคํŠธ ํƒ€์ž…, subsetting list, list slicing, changing/adding/removing list elements)

728x90
๋ฐ˜์‘ํ˜•

1. ๋ฆฌ์ŠคํŠธ

๋ฆฌ์ŠคํŠธ์—๋Š” ๋ฌธ์ž์—ด๊ณผ float ๋ชจ๋‘ ํฌํ•จ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋˜, ๋ฆฌ์ŠคํŠธ์—๋Š” ๋ฆฌ์ŠคํŠธ(Sub-list)๋ฅผ ํฌํ•จ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. 

์ด ๋ฆฌ์ŠคํŠธ๋„ ์—ญ์‹œ, str/bool/int/float์™€ ๊ฐ™์ด, ๋˜๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. 

์ฆ‰, list type๋งŒ์˜ ์ž‘๋™ ๋ฐฉ์‹์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. 

 

list ์•ˆ์˜ elements๋“ค์€ ์•ž์—์„œ๋ถ€ํ„ฐ 0, 1, 2, 3 ...์˜ index๊ฐ’์„ ๊ฐ–๋Š”๋‹ค. ์ฆ‰ ์œ„์˜ fam list๋ฅผ ๋ณด๋ฉด, 'liz'๋ผ๋Š” string element๋Š” '0'๋ฒˆ์งธ element์ธ๊ฑฐ๊ณ , 7๋ฒˆ์งธ element๋Š” 'dad'๊ฐ€ ํ•ด๋‹น๋œ๋‹ค. ์ด๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์€ fam[6]๊ณผ ๊ฐ™์ด ๋Œ€๊ด„ํ˜ธ ์•ˆ์—  index ๋„˜๋ฒ„๋ฅผ ์จ์ฃผ๋ฉด ๋œ๋‹ค. ๋ฆฌ์ŠคํŠธ์˜ ๋์—์„œ๋ถ€ํ„ฐ ๊ฐ€๊นŒ์šด ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š”๋ฐ๋Š” 'negative index'๋ฅผ ์จ์ฃผ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค. 

์œ„์˜ fam ๋ฆฌ์ŠคํŠธ์—์„œ ๋์—์„œ ์ฒซ๋ฒˆ์งธ์— ๋†“์ธ 1.89๊ฐ’์„ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด fam[-1]์ด๋ผ๊ณ  ์ž…๋ ฅํ•  ์ˆ˜๋„ ์žˆ๋‹ค. 


๐Ÿ“List slicing - ๋ฆฌ์ŠคํŠธ๋ฅผ ์ชผ๊ฐค ์ˆ˜๋„ ์žˆ๋‹ค .

[ ์‹œ์ž‘์  : ๋์ ]

์‹œ์ž‘์ ์—์„œ ์‹œ์ž‘ํ•ด์„œ ๋์  ์‚ฌ์ด์— ๋†“์ธ elements๋“ค์ด ์ถœ๋ ฅ๋˜๋Š”๋ฐ, ๋์ ์˜ element๋Š” ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ž˜์„œ ์œ„์™€ ๊ฐ™์€ ๊ฒฝ์šฐ, 3,4์— ํ•ด๋‹นํ•˜๋Š” ๋„ค๋ฒˆ์งธ, ๋‹ค์„ฏ๋ฒˆ์งธ elements๋“ค๋งŒ ์ถœ๋ ฅ๋˜์—ˆ๋‹ค. 

 

0๋ฒˆ์งธ๋ถ€ํ„ฐ ์ถœ๋ ฅํ•  ์ˆ˜๋„ ์žˆ๋Š”๋ฐ, ์ด๋•Œ 0์€ ์ƒ๋žต๋  ์ˆ˜ ์žˆ๋‹ค. 


๐Ÿ“Chaning List - ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜๋„ ์žˆ๋‹ค .

 

๐Ÿ“Addint and removint elements in List - ๋ฆฌ์ŠคํŠธ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค .

+์™€ del์„ ์ด์šฉํ•œ๋‹ค. 


์—ฌ๊ธฐ์„œ ์ฃผ์˜์‚ฌํ•ญ!

element๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ์ˆœ๊ฐ„, ๋ฆฌ์ŠคํŠธ์˜ index ๊ฐ’์ด ์ฆ‰์‹œ ์ˆ˜์ •๋œ๋‹ค. ๋”ฐ๋ผ์„œ ๋ณต์ˆ˜์˜ elements๋ฅผ ์‚ญ์ œํ•˜๋Š” ์ƒํ™ฉ์ผ ๋•Œ, ์ฆ‰๊ฐ์ฆ‰๊ฐ index ๊ฐ’์ด ๋ณ€ํ™”ํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค. ๋ง์ธ ์ฆ‰์Šจ, ๋‹ค์Œ๊ณผ ๊ฐ™์€  ๋ฆฌ์ŠคํŠธ์—์„œ "poolhouse", "24.5" ์ด ๋‘๊ฐ€์ง€ element๋ฅผ ์ œ๊ฑฐํ•ด์•ผํ•˜๋Š” ์ƒํ™ฉ์„ ๊ฐ€์ •ํ•ด๋ณด์ž. 

ํ•ด๋‹น element๋“ค์˜ ์ดˆ๊ธฐ index ๊ฐ’์€ areas[10], areas[11] ํ˜น์€ areas[-4], areas[-3]์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋งŒ์•ฝ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ œ๊ฑฐํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ index ๊ฐ’์ด ๋ฐ”๋€Œ๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธฐ๊ฒŒ ๋œ๋‹ค. 

์ด๋ ‡๊ฒŒ

area[10]์ด ์ œ๊ฑฐ๋˜์ž๋งˆ์ž, ๋ฐ”๋กœ list์˜ index๊ฐ’์ด ์•ž๋‹น๊ฒจ์ ธ์„œ ์ฑ…์ •๋˜์–ด, ์›๋ž˜๋Š” 24.5์˜€๋˜ area[11]์— "garage"์ด ํ•ด๋‹น๋˜๊ฒŒ ๋œ๋‹ค. 

 

ํ˜น์€,

์ด ์—ญ์‹œ, area[-3]์ด ์ œ๊ฑฐ๋˜์ž ๋งˆ์ž, area[-4]๋Š” 10.50์ด ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ์›์น˜ ์•Š๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. 

๋”ฐ๋ผ์„œ, del(areas[-4:-2]) ์ด๋ ‡๊ฒŒ ๋ฌถ์–ด์„œ ์‚ญ์ œ๋ฅผ ํ•ด์ค˜์•ผ ํ˜ผ์„ ์„ ํ”ผํ•  ์ˆ˜ ์žˆ๋‹ค. 


๐Ÿ“๋ฆฌ์ŠคํŠธ ๋ณต์ œํ•˜๊ธฐ

๊ธฐ์กด list์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฉด์„œ, ๋ณต์ œํ•˜์—ฌ element๋ฅผ ๋ณ€ํ˜•ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์ง„ํ–‰ํ•œ๋‹ค.

y= x ๊ฐ€ ์•„๋‹Œ, y= list(x) ํ˜น์€ y=x[:]์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ elements๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด๋‹ค. 

728x90
๋ฐ˜์‘ํ˜•