[Python] list, dict comprehension
Updated:
List Comprehension
์ฐ๋ฆฌ๋ ์ฝ๋ฉ์ ํ๋ค๋ณด๋ฉด ์ฌ๋ฌ๊ฐ์ง ์กฐ๊ฑด์ ํตํด list, dict ์ ์ด๊ธฐํ ํด์ผํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
๋ณต์กํ list, dict ๋ comprehension ์ ํตํด ์ฝ๊ฒ ์ด๊ธฐํ ํ ์ ์๋ค.
๊ตณ์ด ๋งํ๋ฉด ์ฝ๊ฒ ๋ง๋ค๊ธฐ ๋ณด๋ค๋ ์ฝ๋๋ฅผ ๊ฐ๋จํ ์ค์ผ ์ ์๋ค๋๊ฒ ๋ง๋ ๊ฒ ๊ฐ๋ค.
์๋ฅผ ๋ค์ด๋ณด์๋ฉด 1 ~ 100 ๊น์ง์ ์ซ์ ์ค ์ง์๋ง ๊ฐ์ง ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด ๋ณด๋ ค๊ณ ํ๋ค.
comprehension ๊ธฐ๋ฅ์ ๋ชจ๋ฅธ๋ค๋ฉด..
myList = []
for val in range(1, 101):
if val%2 == 0:
myList.append(val)
ํ์ง๋ง comprehension ์ ์ฌ์ฉํ๋ค๋ฉด..
myList = [val for val in range(1, 101) if val%2 == 0]
ํ ์ค๋ก ์ค์ผ ์ ์๋ค. ๊ฐ๋จํ ์๋ฅผ ๋ค์ด์ ๊ทธ๋ ์ง๋ง ์กฐ๊ธ ๋ณต์กํ ๋ฆฌ์คํธ๋ฅผ ์ด๊ธฐํ ํ๋ ๊ฒฝ์ฐ
ํฌ๋ฌธ ์ฌ๋ฌ ๊ฐ ๋ฅผ ์ฌ์ฉ ํ ์ ๋ ์๋๋ฐ ๋ชจ๋ ํ ์ค๋ก ์ด๊ธฐํ๊ฐ ๊ฐ๋ฅํด์ง๋ค.
Dict Comprehension
list ๋ฟ ๋ง ์๋๋ผ dict ๋ ์ด๊ธฐํ๊ฐ ๊ฐ๋ฅํ๋ค.
[Programmers] ์ฒด์ก๋ณต ๋ฌธ์ ์์ ์กฐ๊ธ์ ๋ณต์กํ dict ๋ฅผ ๋ง๋ค์ด์ผ ํ๋๋ฐ
comprehension ์ ํตํด ์์ฃผ ๊ฐ๋จํ ๋ง๋ค ์ ์๋ค.
animal = ['dog', 'cat', 'cow']
num = [3,5,10]
animal_dict = {val[0] : val[1] for val in zip(animal, num)}
๋๋ฌผ์ key ๋ก num ์ value ๋ก ๊ฐ์ง๋ dict ๋ฅผ ๋ง๋ค๊ณ ์ถ์ ๋ zip ํจ์๋ฅผ ์ด์ฉํ์ฌ ๋งค์ฐ๋งค์ฐ ๊ฐ๋จํ๊ฒ ์ด๊ธฐํ ํ ์ ์๋ค.
์ ๋ฆฌ
์์ฃผ ๊ฐ๋จํ ์๋ฅผ ๋ค์์ง๋ง ๊ต์ฅํ ๋ณต์กํ comprehension ๋ ๋ง์ด ์๋ค.
if ๋ฟ ๋ง ์๋๋ผ else ๋ฌธ ๋ ๋ค์ด ๊ฐ ์ ์๋ค.
ํ์ง๋ง elif ๋ฌธ ์ ๋ค์ด ๊ฐ ์ ์์ด ๋ฌด์กฐ๊ฑด if else ๋ก ๋ง๋ค์ด์ผ ํด ์ฒ์์๋ ์กฐ๊ธ ํท๊ฐ๋ ธ๋ค.
comprehension ์ ํ ๋ฒ ์ ํ๋ฉด ๋ค์๋ถํฐ๋ ์ด ๊ธฐ๋ฅ์ด ์๋ ์ธ์ด๋ ์ฌ์ฉํ๊ธฐ๋ ์ซ์ด์ง๋ค๊ณ ํ๋๋ฐ
์ ๋ง ๊ทธ๋ด ๊ฒ ๊ฐ๋ค ์์ฃผ์์ฃผ ํธํ๊ธฐ ๋๋ฌธ!
Leave a comment