공부는 했지만 잘 사용하지 못하는 것에 대한 함수다.
enumerate
열거하다 라는 뜻이다.
대게 for문에 사용되는데 range -> 정수 집합을 순회하는 루프를 실행할때 유용하고
enumerate는 리스트를 순회하거나 리스트의 인덱스를 같이 알아야 하는 경우 쓰기 유용하다.
food =['buger', 'pizza', 'kimchi', 'chicken']
print(list(enumerate(food)))
여기서 인덱스를 따로 설정해주지 않으면 0으로 자동설정되는데 인덱스를 따로 설정해 줄 수 도있다.
food =['buger', 'pizza', 'kimchi', 'chicken']
print(list(enumerate(food, start=2)))
for과 같이 써보면
today_diner =['buger', 'pizza', 'kimchi', 'chicken']
for i, dinner in enumerate(today_diner, start=1):
print("%d : %s" % (i, dinner))
이와 같은 결과를 볼 수 있다.
리스트만 적용되는게 아니라 Tuple, String등 도 적용된다.
List comprehension (리스트 내포)
list comprehension을 사용하면 좀더 편리하고 직관적인 프로그램을 만들 수 있다는 장점이있다.
구문 작성 방법
newlist = [expression for item in iterable if condition == True]
일반 for 문으로 작성된 코드
food =['buger', 'pizza', 'kimchi', 'chicken']
newlist = []
for x in food:
if "i" in x:
newlist.append(x)
print(newlist)
List comprehension으로 작성된 코드
food =['buger', 'pizza', 'kimchi', 'chicken']
newlist = [x for x in food if "i" in x]
print(newlist)
똑같은 실행결과지만 코드가 확연히 가독성이 높아진걸 볼 수 있다.
if를 없이 사용
food =['buger', 'pizza', 'kimchi', 'chicken']
newlist = [x for x in food]
print(newlist)
range 이용
newlist = [x for x in range(10)]
print(newlist)
참조 : w3schools.com
'Python' 카테고리의 다른 글
파이썬을 이용하여 네이버 실시간 급상승검색어 가져오기 (0) | 2021.01.27 |
---|---|
파이썬으로 웹 크롤링하기 (Selenium 이용) (0) | 2021.01.27 |
파이썬으로 웹 크롤링하기 (BeautifulSoup 사용) (0) | 2021.01.27 |
Blind SQL Injection code form (0) | 2021.01.26 |
파이썬 정규식 (RegEx) (0) | 2021.01.17 |