부스트코스 파이썬(PY4E) 코칭스터디 1기 - 5주차 학습

<world />·2021년 8월 13일
0

부스트코스

목록 보기
6/7
post-thumbnail

📖리스트의 개념 및 특징


들어가며

지금까지 우리는 하나의 값만을 할당하는 변수에 대해서 알아 보았다. 하지만 필요에 따라서 하나의 변수에 많은 데이터를 넣을 수도 있다. 파이썬에서는 이를 리스트라고 한다.

학습 목표

리스트의 개념에 대해서 이해하고 개별 값에 대해 접근하고 내장 함수를 활용할 수 있다.

핵심 키워드

  • 리스트
  • 내장 함수




학습 내용


프로그래밍

통상 프로그래밍은 알고리즘과 자료구조로 나눌 수가 있다. 알고리즘이 특정 문제를 해결하기 위한 규칙 또는 단계라면, 자료구조는 컴퓨터내에서 자료를 구조화 하는 특별한 방식이라고 생각할 수 있다.

무엇이 컬렉셕이 아닌가?

컬렉션이 무엇인지 알기 위해 우리는 컬렉션이 아닌 것을 알아야 한다. 하나의 변수에 새로운 값을 할당하게 되면 기존의 값은 사라지고 그 자리에 대체하게 된다. 즉, 하나의 변수에는 하나의 값만 할당하는 것을 우리는 배웠다. 하나의 변수에 여러 값을 넣는 것이 가능하도록 하는 것이 컬렉션이다.

리스트(List)

리스트는 컬렉션의 한 종류이다.

  1. 리스트의 각 항목들은 [] 로 둘러싸게 된다.
  2. 리스트 내의 항목들에 대한 구분은 ,로 구분한다.
  3. 리스트 내에 또 다른 리스트를 내포할 수 있다.
  4. 비어 있는 리스트를 만들 수 있다.
  5. 리스트의 항목들에 인덱스 값으로 접근할 수 있다.
  6. 리스트의 항목들은 바뀔 수 있다.
friends = ['Joseph', 'Glenn', 'Sally']
carryon = ['socks', 'shirt', 'perfume']
colors = ['red', ['yellow','blue'], 'black']
emptyList = []
print(colors[0])
# red라고 출력됨
lotto = [2, 14, 26, 41, 63]
print(lotto)
# [2, 14, 26, 41, 63]이 출력됨
lotto[2] = 28
print(lotto)
# [2, 14, 28, 41, 63]이 출력됨`

len()

리스트에서도 해당 리스트가 몇 개의 항목을 가지고 있는지를 len() 함수를 통해서 확인할 수 있다.

friends = ['Joseph', ' Glenn', 'Sally']
print(len(friends))
# 3으로 출력됨

range()

range() 함수는 인자로 전달되는 값에 따라서 숫자로 이루어진 리스트를 반환하게 된다.

for i in range(5):
    print(i)

# 0
# 1
# 2
# 3
# 4 로 출력된다.




📖리스트 활용하기


들어가며

계속해서 리스트와 관련된 내장 함수들을 살펴보도록 하자.

학습 목표

리스트를 이해하고 내장 함수를 활용해 리스트를 만들 수 있다.

핵심 키워드

  • 리스트
  • 내장 함수




학습 내용


연산자 활용

  • 리스트 병합: 리스트 타입도 + 연산자를 활용해서 서로 다른 리스트를 더 할 수 있다.
a = [1, 2, 3]
b = [4, 5, 6]
c = a + b
print(c)
# [1, 2, 3, 4, 5, 6]로 출력된다.
  • 리스트 슬라이싱: 리스트도 : 를 이용해 자를 수가 있다. 여기서 중요한 것은 예를 들어 t[1:3]과 같은 경우 3번째 인덱스에 해당하는 항목은 포함되지 않는다는 것이다.
t = [9, 41, 12, 3, 74, 15]
print(t[1:3])
print(t[:4])
print(t[3:])
print(t[:])

# [41, 12]
# [9, 41, 12, 3]
# [3, 74, 15]
# [9, 41, 12, 3, 74, 15] 로 출력된다.
  • dir() 메소드: 특정 타입에서 사용할 수 있는 메소드의 목록들을 볼 수 있는 함수도 있다.
x = list()
print(dir(x))
  • 리스트 만들기: 빈 리스트 만들기 -> 항목 추가하기 -> 항목 정렬하기 -> in을 활용해 'Glenn'이 친구 목록에 있는지 확인하기.
friends = list()
friends.append('Joseph')
friends.append('Glenn')
friends.append('Sally')
print(friends)
# ['Joseph', 'Glenn', 'Sally']
friends.sort()
print(friends)
# ['Glenn', 'Joseph', 'Sally']
print('Glenn' in friends)
# True로 출력된다.




📖리스트를 활용해 원하는 값 추출하기


들어가며

기본적인 메소드를 활용해서 생각보다 많은 일들을 할 수 있다는 것을 확인할 수 있다.

학습 목표

리스트의 개념을 이해하고 기존의 데이터에서 email만 추출할 수 있다.

핵심 키워드

  • 리스트
  • 내장 함수




학습 내용


문자열과 리스트

문자열과 리스트는 잘 어울려 사용된다.

abc = 'With three words'
stuff = abc.split()
print(stuff)

# ['With', 'three', 'words'] 로 출력된다.

구분자

명시적으로 구분자를 넣어주지 않으면, 빈칸을 구분자로 인지하고 나누게 된다.

words2 = 'first;second;third'
stuff2 = words2.split()
print(stuff2)
# ['first;second;third']
stuff2 = words2.split(';')
print(stuff2)
# ['first', 'second', 'third']

이메일 주소 추출하기

지금까지 배운 메소드와 자료구조를 활용하면 우리가 원하는 값만을 추출할 수가 있다.

line = 'From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008'
# line 에 uct.ac.za만 추출하는 방법을 찾아 보도록 하자.
words = line.split()
# words는 해당 라인을 빈칸을 구분자로 하여 리스트로 저장된다.
print(words[1])
# stephen.marquard@uct.ac.za이 출력된다.
email = words[1]
address = email.split('@')
print(address)
# ['stephen.marquard', 'uct.ac.za'] 가 출력된다.
print(address[1])
# uct.ac.za가 출력된다.





💬

Reference


0개의 댓글