Love Every Moment

〔모두를 위한 파이썬〕리스트, split() 으로 원하는 부분 추출하기, 가디언 패턴 본문

PROGRAMMING::LANGUAGE/Python

〔모두를 위한 파이썬〕리스트, split() 으로 원하는 부분 추출하기, 가디언 패턴

해 송 2022. 6. 23. 23:45
반응형

 

1. 컬렉션(Collection)

  • 보통의 변수들은 하나의 값만을 가지므로 새로운 값을 넣으면 기존의 값은 덮어씌워진다
  • 하지만 컬렉션은 하나의 변수에 여러 값을 넣을 수 있게 해준다
  • 리스트는 컬렉션의 한 종류!

 


 

2. 리스트(List)

  • 리스트 요소들은 대괄호([]) 로 둘러 쌓여 있고, 각 요소들은 쉼표(,)로 구분
  • 리스트 명은 friends, iteration variable 명은 friend 처럼 지으면 사용하기 편하다
  • 리스트는 변경 가능(mutable) 하기 때문에  lotto[2] = 28 처럼 값을 변경할 수 있다!
  • 반면 문자열(string)은 변경 불가능(immutable)하기 때문에 fruit[0] = 'b' 처럼 값을 변경 시도하면 에러가 발생한다

 


 

3. range() 리스트에 활용하기

  • len()  함수를 통해 리스트의 요소의 개수를 셀 수 있다
  • range() 함수는 0부터 (매개변수 - 1)까지의 리스트를 반환한다

 


 

4. 리스트 병합과 슬라이싱

  • 문자열과 사용법이 동일하다
  • + 를 사용하면 리스트들을 병합할 수 있고, 리스트명[a : b]의 형식으로 원하는 만큼 추출하여 사용 가능하다

 


 

5. 리스트 생성과 메서드 사용하기

  • list() 함수를 사용하면 빈 리스트를 생성하여 변수에 할당해준다
  • 그 다음 리스트명.append(abc) 의 형식으로 원하는 요소를 리스트에 추가할 수 있다
  • 리스트명.sort() 을 통해 리스트를 알파벳 순서로 정렬할 수 있다
dir(변수명) 을 통해 해당 타입에서 사용 가능한 메서드를 확인 가능하다
예를 들면, 아래와 같이 사용하면 된다
x = list()
print(dir(x))

 


 

6. 빌트인 함수 사용하기

  • len(), max(), min(), sum() 에 리스트를 인자로 넘겨 사용할 수 있다
  • len() 은 리스트의 길이, max/min() 은 리스트의 최댓값/최솟값, sum() 은 리스트의 모든 요소의 총합을 반환한다
  • 오른쪽 사진에서 왼쪽과 오른쪽 코드는 같은 결과를 가져오지만, 오른쪽처럼 리스트를 사용하는 경우 더 많은 메모리를 사용한다는 점에서 차이가 있다

 


 

7. split()

(1) split() 이용하여 문자열을 리스트로 바꾸기

  • split() 은 기본적으로 문자열 내의 공백을 구분자로 요소들을 나눈 리스트를 반환한다
  • 이때, 공백이 아닌 다른 것을 구분자로 사용하고 싶다면 split(';')처럼 인자로 넘겨준다

 

(2)  split() 으로 원하는 부분 추출하기

  • 이전에 find() 와 문자열 슬라이싱을 사용해서 원하는 부분을 추출하는 연습을 했었는데, split() 을 사용하면 이와 동일한 결과를 더 쉽게 가져올 수 있다
  • 이전과 비교하기:
 

〔모두를 위한 파이썬〕문자열, 슬라이싱, 라이브러리 함수(find, strip, replace)

1. 문자열 문자열의 각 요소는 인덱스를 가진다 fruit[0] 은 'b', fruit[1] 은 'a' 이런 식으로 값이 지정된다 len() 의 인자로 문자열을 넘겨주면 문자열의 길이를 반환한다 2. 문자열 순회하기 for 문 또

love-every-moment.tistory.com

 

 


 

8. 가디언 패턴

han = open('mbox-short.txt')

for line in han:
    line = line.rstrip()
    wds = line.split()

	# Guardian Pattern
    if len(wds) < 3 or wds[0] != 'From' :
        continue
    print(wds[2])
  • 에러가 발생하지 않도록 방지

 


 

강의 사이트

 

모두를 위한 파이썬 (PY4E)

부스트코스 무료 강의

www.boostcourse.org

 

반응형
Comments