[Python기초] 14. 수열함수

range함수는 어떻게 사용하나요?

  >>> list(range(10)) # 종료 값만 있는 경우 10은 포함 안됨
  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  >>> list(range(5, 10)) # 시작 값, 종료 값이 있는 경우
  [5, 6, 7, 8, 9]
  >>> list(range(10, 0, -1)) # 시작 값, 종료 값, 증가 값이 있음
  [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
  >>> list(range(10, 20, 2)) # 10에서 20까지 짝수만 출력
  [10, 12, 14, 16, 18]

리스트 내장 방식

  <표현식> for <아이템> in <시퀀스 타입 객체> (if <조건식>)
  >>> l = [1, 2, 3, 4, 5]
  >>> [i ** 2 for i in l]
  [1, 4, 9, 16, 25]
  >>> t = ("apple", "banana", "orange")
  >>> [len(i) for i in t]
  [5, 6, 6]
  >>> d = {100: "apple", 200: "banana", 300: "orange"}
  >>> [v.upper() for v in d.values()]
  ['BANANA', 'ORANGE', 'APPLE']
  >>> [i ** 3 for i in range(5)]
  [0, 1, 8, 27, 64]

반복문 작성에 도움이 되는 함수 filter

  filter(<function> | None, <이터레이션이 가능한 자료형>)
  >>> L = [10, 25, 30]
  >>> IterL = filter(None, L)
  >>> for i in IterL:
        print("Item: {0}".format(i))
  Item: 10
  Item: 25
  Item: 30
  >>> def GetBiggerThan20(i): # filter() 함수에 첫번째 인자로 GetBiggerThan20() 함수를 넘겨주면 내부의 논리식에서 참을 리턴하는 경우만 for in 루프에서 포함되어 출력
        return i > 20
  >>> L = [10, 25, 30]
  >>> IterL = filter(GetBiggerThan20, L)
  >>> for i in IterL:
        print("Item: {0}".format(i))