Programming/python

[Python Grammer] Comprehension - list, set, dictionary

방황하는 데이터불도저 2022. 8. 3. 00:27

python 특유의 문법으로 몇 줄의 긴 코드를 한줄로 처리할 수 있게 해주는 아주 편리한 문법이다.

 

[Example 1 : list comprehension]

list = [1,2,3,4]

#Original
total = 0
for i in list:
	total += i
print(total)
    
#List Comprehension
print(sum(i for i in list))

 

[Example 2 : set comprehension]

list2 = [['One', 1], ['Two', 2], ['Three', 3], ['Four',4]]

#Original
s = set()
for i in list2:
	s.add(i[1])
    
#Set Comprehension
s = {i[1] for i in list2}

 

[Example 3 : dictionary comprehension]

score = [
   ('Max', 90, 105.34),
   ('Charlotte', 75, 102.25),
   ('Jinny', 100, 84.50),
   ('Jason', 50, 124.75)
]


#Original
average_score = {}
for sc in score:
	average_score[sc[0]] = (sc[1]+sc[2])/2

#Dictionary Comprehension
average_score = {sc[0] : (sc[1]+sc[2])/2 for sc in score}