๋ชจ๋๊ฐ ์๋ค์ํผ python์ ์ฅ์ ์ค ํ๋๋ ๊ฐ๋จํ ๋ฌธ๋ฒ์ด๋ค.
๋ค๋ฅธ ์ธ์ด์์ ๋ง์ ์ค์ ์ฌ์ฉํด์ผ ๋ง๋ค ์ ์๋ ๋ฆฌ์คํธ๋ฅผ ํ ์ค๋ก ํํํ ์ ์๋ค.
list comprehension์ ์ ์ด์ฉํ๋ฉด ์ฝ๋๊ฐ ํจ์ฌ ๊ฐ๊ฒฐํ๊ณ ์ด๋ป๋ณด์ธ๋ค.
์์๋ฅผ ๋ค์ด๋ณด๊ฒ ๋ค
์ ์ ๋ฆฌ์คํธ๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ ์์์ 1์ ๋ํ ์๋ก์ด ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค๊ณ ์ถ์ ๋,
list comprehension์ ์ด์ฉํ์ง ์์ผ๋ฉด for๋ฌธ์ ํ์ฉํ์ฌ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ ์ ์๋ค.
my_list = [1, 2, 3]
new_list = []
for num in my_list:
new_list.append(num + 1)
print(new_list) # = [2, 3, 4]
ํ์ง๋ง, list comprehension์ ์ด์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ ์ ์๋ค.
my_list = [1,2,3]
new_list = [num + 1 for num in my_list]
print(new_list) # = [2, 3, 4]
ํ์คํ 3์ค์ด์๋ ์ฝ๋๊ฐ ํจ์ฌ ๊น๋ํ๊ฒ ํ ์ค๋ก ํํ์ด ๋์๋ค.
list comprehension์๋ ์ถ๊ฐ์ ์ผ๋ก ์กฐ๊ฑด์ ๋ถ์ฌํ ์ ์๋ค.
์๋ฅผ ๋ค์ด ์๊น์ ์์์์, ํ์ ์ซ์(1, 3)๋ง ๋๋ฐฐ๋ฅผ ํ๋ ์กฐ๊ฑด์ ๊ฑธ์ด๋ณด์
my_list = [1, 2, 3, 4, 5 ,6]
new_list = [num * 2 if num % 2 == 1 else num for num in my_list]
print(new_list) # = [2, 2, 6, 4, 10, 6]
๋ง์ฝ ์ฝ๋๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ง๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋, ์์๋ฅผ ์์งํ๋๋ก ํ์
my_list = [1, 2, 3, 4, 5 ,6]
new_list = [num * 2 for num in my_list if num % 2 == 1 else num ] # Syntax Error
print(new_list)
๋ํ, ์ฝ๋๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ง๋ฉด ์ง์์ธ ๊ฒฝ์ฐ๋ฅผ ๋ฌด์ํ๊ฒ ๋๋ค.
์กฐ๊ฑด๋ฌธ์ด ๋ชจ๋ ์์๋ฅผ ๋์์ผ๋ก ํ๊ณ ์๋์ง๋ฅผ ํ์คํ ํ์.
my_list = [1, 2, 3, 4, 5 ,6]
new_list = [num * 2 for num in my_list if num % 2 == 1]
print(new_list) # = [2, 6, 10]
list comprehension์ ์ซ์ ๋ฆฌ์คํธ์์๋ง ์ ์ฉ๋๋ ๊ฒ์ด ์๋๋ค.
๋ค์๊ณผ ๊ฐ์ ์์๋ฅผ ๋ณด๋ฉด, ๋ฌธ์ ๋ฆฌ์คํธ์์ ์ ์ฉ๋จ์ ์ ์ ์๋ค. (๋ฌธ์์ด.upper() ๋ฉ์๋๋ ๋ชจ๋ ๋ฌธ์์ด์ ๋๋ฌธ์๋ก ๋ณ๊ฒฝํ๋ค.)
name_list = ["Ricky", "Isabelle", "Hailey", "Johnson", "Heiden"]
new_name_list = [name.upper() for name in name_list]
print(new_name_list) # = ["RICKY", "ISABELLE", "HAILEY", "JOHNSON", "HEIDEN"]
๋ฌธ์์ด ๋ฆฌ์คํธ์์๋ ์ญ์, ์กฐ๊ฑด๋ฌธ์ ํตํด ์ผ๋ถ ๋ฌธ์์๋ง ์ ์ฉํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.
์๊น์ ์์์์ ๊ธ์ ์๊ฐ 6๊ฐ์ธ ๋ฌธ์๋ง ๋๋ฌธ์๋ก ๋ฐ๊พธ์ด ๋ฆฌ์คํธ๋ก ๋ง๋ค์ด๋ณด์.
name_list = ["Ricky", "Isabelle", "Hailey", "Johnson", "Heiden"]
new_name_list = [name.upper() if len(name) == 6 else name for name in name_list]
print(new_name_list) # = ["Ricky", "Issabelle", "HAILEY", "Johnson", "HEIDEN"]
์ ์์ ์ผ๋ก ์ ์ฉ๋์ด ๊ธ์ ์๊ฐ 6๊ฐ์ธ Hailey, Heiden์๋ง upper()๋ฉ์๋๊ฐ ์ ์ฉ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
'python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[programmers] ๋ฌธ์์ด ์ฌ๋ฌ๋ฒ ๋ค์ง๊ธฐ (python) (8) | 2023.10.11 |
---|---|
[python] tkinter miles km converter / tkinter ๋ง์ผ ํฌ๋ก๋ฏธํฐ ๋ณํ๊ธฐ (3) | 2023.10.10 |
[python] *args ๊ณผ **kwargs (6) | 2023.10.10 |
[python] code-runner extension ํ์ผ ์คํ ์ ํฐ๋ฏธ๋์ ์ด๊ธฐํ, file path ์ถ๋ ฅ ์๋๊ฒ ๋ณ๊ฒฝ (0) | 2023.10.08 |
[python] Turtle graphics๋ก ๋ฑ๊ฒ์ ๋ง๋ค๊ธฐ (0) | 2023.09.27 |