@List comprehension
-기존 List 사용해 간단히 다른 List 만드는 기법
-포괄적인 List, 포함되는 리스트라는 의미로 사용
-파이썬에서 가장 많이 사용되는 기법 중 하나
-일반적으로 for + append 보다 속도 빠름
실습)
# for loop + append
result = [] # create a list
for i in range(10):
result.append(i)
print(result)
# list Comprehension
result = [i for i in range(10)]
print(result)
# print even numbers only
result = [i for i in range(10) if i % 2 == 0]
print(result)
# Nested for loop
word_1 = "Hello"
word_2 = "World"
result = [i+j for i in word_1 for j in word_2]
printr(result)
#Nested for loop
case_1 = ["A", "B", "C"]
case_2 = ["D", "E", "A"]
result = [i+j for i in case_1 for j in case_2]
print(result)
# ['AD', 'AE', 'AA', 'BD', 'BE', 'BA', 'CD', 'CE', 'CA']
# add if
result = [i+j for i in case_1 for j in case_2 if not(i==j)]
result.sort()
print(result)
# ['AD', 'AE', 'BA', 'BD', 'BE', 'CA', 'CD', 'CE']
리스트 안에 리스트를 하나 더 넣어 2D리스트 형태로 만들 수 있음
case_1 = ["A", "B", "C"]
case_2 = ["D", "E", "F"]
result = [a+b for a in case_1 for b in case_2]
print(result)
# ['AD', 'AE', 'AF', 'BD', 'BE', 'BF', 'CD', 'CE', 'CF']
result = [[a+b for a in case_1] for b in case_2]
print(result)
# [['AD', 'BD', 'CD'], ['AE', 'BE', 'CE'], ['AF', 'BF', 'CF']]
# split + List Comprehension
words = 'The quick brown fox jumps over the lazy dog'.split()
print(words)
stuff = [[w.upper(), w.lower(), len(w)] for w in words]
for i in stuff:
print(i)
'CS > Python' 카테고리의 다른 글
Asterisk (0) | 2021.01.11 |
---|---|
Lambda & MapReduce (0) | 2021.01.11 |
Enumerate & Zip (0) | 2021.01.10 |
Split & Join (0) | 2021.01.10 |
Pythonic Code (0) | 2021.01.07 |