2020. 12. 28. 19:56ใ๐ Algorithm/๐ Python ๋ฌธ๋ฒ
ํ์ด์ฌ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์๋ฃํ์ธ ๋ฆฌ์คํธ(List)์ ๋ํด ๊ฐ๋จํ ์ ๋ฆฌํด๋ณด๊ณ ์ ํฉ๋๋ค.
๋ฆฌ์คํธ์ ๋ช๋ช ๊ธฐ๋ฅ๋ค์ ๋ํด์ ์๊ฐํด๋ณผ๊ฒ์!
๐ List ์ธ๋ฑ์ฑ/์ฌ๋ผ์ด์ฑ ๊ธฐ๋ฅ
๋ฆฌ์คํธ์์ ์ํ๋ ๊ฐ์ ํ๋ ๋๋ ์ฌ๋ฌ๊ฐ ์ฐพ๊ณ ์ถ๋ค๋ฉด ์ธ๋ฑ์ฑ๊ณผ ์ฌ๋ผ์ด์ฑ์ ์ด์ฉํ๋ฉด ๋ฉ๋๋ค.
โ๏ธindex ๊ฐ์ -1์ ๋ฃ์ผ๋ฉด list์ ๋ง์ง๋ง ์์ ๊ฐ์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค!
๋ฆฌ์คํธ ์ธ๋ฑ์ฑ
a = [1,2,3]
a[0] # 1
a[0] + a[1] # 3
a[-1] # 3
๋ฆฌ์คํธ ์ฌ๋ผ์ด์ฑ
a = [1,2,3]
a[1:] # [2,3]
a[:1] # [1,2]
๐List์์ ๊ฐ์ ์ด์ฉํ์ฌ ์์น ์ฐพ๊ธฐ ( index )
๋ฆฌ์คํธ์์๋ list.index(value)๋ฅผ ์ด์ฉํ์ฌ ์ํ๋ ๊ฐ์ด ๋ฆฌ์คํธ ๋ช๋ฒ์งธ์ ์กด์ฌํ๋ ์ง ๋ฅผ ์ ์ ์์ต๋๋ค!
a = [1,2,3,4,5]
a.index(2) # 1
a.index(7) # 7์ a์ ์กด์ฌํ์ง ์์ผ๋ฏ๋ก ValueError ๋ฐ์
๐List์์ ์ํ๋ ์์น์ ๊ฐ ์ถ๊ฐํ๊ธฐ ( insert )
๋ฆฌ์คํธ์์ ๊ฐ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ผ๋ก append๊ฐ ์์ง๋ง, append๋ ๋ฆฌ์คํธ์ ๋งจ ๋ง์ง๋ง์ ์์๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ ์ ๋๋ค.
๋ง์ฝ ์ํ๋ ์์น์ ๊ฐ์ ์ถ๊ฐํ๋ ค๋ฉด ์ด๋ป๊ฒ ํ ๊น์? ๋ฐ๋ก list.insert( index, value ) ๋ฅผ ํตํด ์ํ๋ ์์น์ ๊ฐ์ ์ถ๊ฐํ ์ ์์ต๋๋ค!
a = [1,2,3,4,5]
a.insert(0,7) # [7,1,2,3,4,5]
a.insert(2,3) # [7,1,3,2,3,4,5]
insert( index, value )๋ index ๋ฒ์งธ ์์น์ value๋ฅผ ์ฝ์ ํ ์ ์์ต๋๋ค.
๐ List ๋ค์ ๊ฐ ์ถ๊ฐํ๊ธฐ / ํ์ฅ ( extend )
extend๋ ๋ฆฌ์คํธ๋ง ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ์ผ๋ก ๋ฆฌ์คํธ ๋ค์ ๋ฆฌ์คํธ ๊ฐ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ ์ ๋๋ค.
+ ๋ฅผ ์ด์ฉํ์ฌ ๋ฆฌ์คํธ๋ฅผ ๋ํ ์๋ ์์ง๋ง extend๋ผ๋ ๋ฐฉ๋ฒ์ด ์๋ค๋ ๊ฒ๋ง ์ฐธ๊ณ ํ๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค : )
โ๏ธ list.extend( x )์์ x๋ ๋ฆฌ์คํธ๋ง ์ฌ ์ ์๋ค๋ ๊ฒ ์ ์ฃผ์ํ์ธ์!
a = [1,2,3]
b = [4,5]
a + b # [1,2,3,4,5]
a += [4,5] # [1,2,3,4,5]
a.extend(b) # [1,2,3,4,5]
๐List์์ ๊ฐ ์ ๊ฑฐํ๊ธฐ ( remove )
๋ฆฌ์คํธ์์ ์ํ๋ ๊ฐ์ ์ ๊ฑฐํ๋ ค๋ฉด remove๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋จ, list.remove( value )๋ ๋ฆฌ์คํธ์ ๊ทธ ๊ฐ์ด ์ฌ๋ฌ๋ฒ ์กด์ฌํ๋ค๋ฉด, ์ฒซ ๋ฒ์งธ (์ฆ, list์์ ์ ์์์ ์กด์ฌํ๋) ๊ฐ๋ง ์ ๊ฑฐํ๋ค๋ ์ ์ ๋ช ์ฌํด์ฃผ์ธ์!
a = [1,2,3,4,3,5]
a.remove(1) # [2,3,4,3,5]
a.remove(3) # [2,4,3,5]
๐List์์ ๊ฐ ๊บผ๋ด๊ธฐ ( pop )
์ธ๋ป ๋ณด๋ฉด remove์ ๋น์ทํ ์ญํ ์ ํ๋ค๊ณ ๋ณด์ค ์ ์๋ pop์ ์ํ๋ ๊ฐ์ ๊บผ๋ผ ๋ ์ฌ์ฉ๋์ด์ง๋๋ค.
remove๋ ์ํ๋ ๊ฐ์ ์ ๊ฑฐ๋ง , pop์ ์ํ๋ ๊ฐ์ ๊บผ๋ด์ด ์ ๊ฑฐํ๋ค๊ณ ์ ๋ฆฌํ๋ฉด ๋ ๊ฑฐ ๊ฐ์์.
list.pop(index) or list.pop()์ index ๊ฐ์ ๋ฃ์ผ๋ฉด ๋ฆฌ์คํธ์ index ๋ฒ์งธ์ ๊ฐ์ ๋๋ ค์ฃผ๊ณ ์ ๊ฑฐํฉ๋๋ค.
โ๏ธpop์ index์ ๋ค๋ฅด๊ฒ ์ํ๋ ๊ฐ์ด ์๋ ์์น๋ก ๊ฐ์ ๊บผ๋ด์ค๋ค๋ ์ ์ฃผ์ํด์ฃผ์ธ์ ~
a = [1,2,3,4,3,5]
a.pop() # ๋งจ ๋ง์ง๋ง ๊ฐ์ ๋๋ ค์ค - 5 , a = [1,2,3,4,3]
a.pop(1) # ๋ฆฌ์คํธ์ 1 ๋ฒ์งธ ๊ฐ์ ๋๋ ค์ค - 2 , a = [1,3,4,3]
๐List์ ํฌํจ๋ ๊ฐ์ ๊ฐ์ ์ธ๊ธฐ ( count )
๋ฆฌ์คํธ์์ ๋ง์ฝ '์ํ๋ ๊ฐ'์ด ๋ช๊ฐ ๋ค์ด์๋์ง ํ์ธํ๊ณ ์ถ์ ๋์๋ count๋ฅผ ์ด์ฉํ๋ฉด ๋ฉ๋๋ค.
์ํ๋ ๊ฐ์ด ๋ฆฌ์คํธ์์ ์๋ค๋ฉด 0์ ๋ฆฌํดํด ์ค๋๋ค.
a = [1,2,3,4,3,5]
a.count(1) # 1
a.count(3) # 2
a.count(7) # 0
โ๏ธList์์ ์ ์ฒด ๊ฐฏ์๋ฅผ ์๊ณ ์ถ๋ค๋ฉด ?! len( ) ์ ์ด์ฉํ์!
a = [1,2,3,4,3,5]
len(a) # 6
๐List์์ ์ ๋ ฌํ๊ธฐ ( sort / reverse )
๋ฆฌ์คํธ ์๋ฃํ์ ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด์์ ๋งค์ฐ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค!
๊ฐ์ ์์๋๋ก ์ ๋ ฌํ๊ณ ์ถ๋ค๋ฉด sort ๋ฅผ, ์ญ์์ผ๋ก ์ ๋ ฌ์์๋ reverse๋ฅผ ์ด์ฉํ์ธ์.
๊ฐ์ ์์๋๋ก ์ ๋ ฌํ๊ธฐ ( sort ) - ๊ธฐ๋ณธ ๊ฐ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
a = [1,2,3,4,3,5]
a.sort() # [1,2,3,3,4,5]
b = ['a','c','b']
b.sort() # ['a','b','c']
๊ฐ์ ์ญ์์ผ๋ก ์ ๋ ฌํ๊ธฐ ( reverse )
a = [1,2,3,4,3,5]
a.reverse() [5,3,4,3,2,1]
b = ['a','c','b']
b.reverse() # ['b','c','a']
โ๏ธ reverse๋ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ์ด ์๋ ๋ฆฌ์คํธ๋ฅผ ๊ฑฐ๊พธ๋ก ๋ค์ง๋ ๊ฒ ๋ฟ์์ ์ฃผ์ํ์ธ์!!
๐๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋ง์ด ํ์ฉํ List ๊ด๋ จ ํจ์๋ค์๋ํด ์ ๋ฆฌํด๋ณด์๋๋ฐ์.
๋ฆฌ์คํธ ์๋ฃํ์ ์ฌ์ฉํ์ค ๋ ์ ํจ์๋ค์ ์ด์ฉํ๋ฉด ์ข ๋ ํธํ๊ฒ ์ฝ๋๋ฅผ ์งค ์ ์์ ๊ฑฐ ๊ฐ์ต๋๋ค : )
List์ ์ ๋ ฌ์ ์์ฃผ ์ฐ์ด๋ ๋ถ๋ถ์ด๊ณ ๋งค์ฐ ์ค์ํ๋ ๋ฐ๋ก ์ ๋ฆฌํด๋๋ก ํ๊ฒ ์ต๋๋ค!
'๐ Algorithm > ๐ Python ๋ฌธ๋ฒ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฆฌ์คํธ(List) / ๋์ ๋๋ฆฌ(Dictionary) ์ ๋ ฌ (0) | 2020.12.29 |
---|---|
ํํ(Tuple) (0) | 2020.12.28 |
๋์ ๋๋ฆฌ(Dictionary) (0) | 2020.12.28 |