[Python] List comprehension

2023. 1. 17. 17:59·기타

list comprehension

  • 기존 List를 사용하여 간단히 다른 List를 만드는 기법
  • 포괄적인 List,포함되는 리스트라는 의미로 사용됨
  • 파이썬에서 가장 많이 사용되는 기법중 하나
  • 일반적으로 for + append보다 속도가 빠름

example (1/4)

# example

result = []
for i in range(10):
    result.append(i)

result


result = [i for i in range(10)]
result


[0,1,2,3,4,5,6,7,8,9]
result = [i for i in range(10) if i %2 == 0]
result

[0,2,4,6,8]

example (2/4) Nested For loop

word_1 = "Hello"
word_2 = "World"
result = [i+j for i in word_1 for j in word_2]
# Nested For loop
result

['HW',
 'Ho',
 'Hr',
 'Hl',
 'Hd',
 'eW',
 'eo',
 'er',
 'el',
 'ed',
 'lW',
 'lo',
 'lr',
 'll',
 'ld',
 'lW',
 'lo',
 'lr',
 'll',
 'ld',
 'oW',
 'oo',
 'or',
 'ol',
 'od']

example (3/4) Filter


case_1 = ["A","B","C"]
case_2 = ["D","E","A"]
result = [i+j for i in case_1 for j in case_2]
result

['AD', 'AE', 'AA', 'BD', 'BE', 'BA', 'CD', 'CE', 'CA']
result = [i+j for i in case_1 for j in case_2 if not(i==j)]

# Filter : i랑 j가 같다면 List에 추가하지 않음
# [i+j if not(i==j) else i for i in case_1 for j in case_2]
result

['AD', 'AE', 'BD', 'BE', 'BA', 'CD', 'CE', 'CA']

example (4/4)


words = "The quick brown fox jumps over the lazy dog".split()
print(words)
# 문장을 빈칸 기준으로 나눠 list 변환

['The', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']
stuff = [[w.upper(),w.lower(),len(w)] for w in words]
for i in stuff:
    print(i)

# list의 각 elemente들을 대문자,소문자,길이로 변환하여 two dimensional list로 변환

['THE', 'the', 3]
['QUICK', 'quick', 5]
['BROWN', 'brown', 5]
['FOX', 'fox', 3]
['JUMPS', 'jumps', 5]
['OVER', 'over', 4]
['THE', 'the', 3]
['LAZY', 'lazy', 4]
['DOG', 'dog', 3]
반응형
저작자표시 비영리 변경금지 (새창열림)

'기타' 카테고리의 다른 글

[Python] zip  (0) 2023.01.17
[Python] enumerate  (0) 2023.01.17
[Python] 재귀함수 (recursive Function)  (0) 2023.01.17
[Python] 문자열 특징 - 인덱싱, 슬라이싱  (0) 2023.01.17
[R] 리스트, 데이터프레임 (list,Data Frames)  (0) 2022.10.09
'기타' 카테고리의 다른 글
  • [Python] zip
  • [Python] enumerate
  • [Python] 재귀함수 (recursive Function)
  • [Python] 문자열 특징 - 인덱싱, 슬라이싱
생각 기록실
생각 기록실
AI(LLM)와 서비스 기획을 공부하며 작성하는 기술 블로그입니다. (feat. 영화리뷰를 곁들인..)
    반응형
  • 생각 기록실
    이러쿵 저러쿵
    생각 기록실
  • 전체
    오늘
    어제
  • 링크

    • Github
    • LindeIn
    • 분류 전체보기 (115)
      • 이러쿵 저러쿵 (5)
      • 정보통계 (7)
        • 데이터마이닝 (2)
        • 금융공학 (4)
      • IT (26)
        • Python (10)
        • AWS (5)
        • Github (2)
        • Project (8)
      • 리뷰 (29)
        • 영화 (22)
        • 책 (7)
      • 기타 (48)
  • hELLO· Designed By정상우.v4.10.3
생각 기록실
[Python] List comprehension
상단으로

티스토리툴바