복대가리의 개발

[기타] 스터디/[혼공학습단 9기] 파이썬

파이썬 공부 (3)

복대가리 2023. 1. 24. 21:23
728x90

이번 포스팅 내용

1. 리스트와 반복문

2. 딕셔너리와 반복문

3. 범위 자료형과 while 반복문

4. 문자열, 리스트, 딕셔너리와 관련된 기본 함수

 

1. 리스트와 반복문

리스트란

  • 값을 저장할 때 사용하는 식별자
  • 파이썬에서 리스트의 의미는 여러가지 자료를 저장할 수 있는 자료입니다.


리스트 선언하고 요소에 접근하기

  • 리스트를 생성하는 방법은 대괄호에 자료를 쉼표로 구분해서 입력합니다.
  • 대괄호 내부에 넣는 자료를 요소라 하고 영어로는 element라고 합니다.
[요소, 요소, element]
  • 각각의 요소가 들어 있는 위치는 숫자 0부터 셉니다. 이때 대괄호 안에 들어간 숫자를 인덱스라고 합니다

 

  • 대괄호 안에 음수를 넣어 뒤에서부터 요소를 선택할 수 있습니다.

 

  • 리스트 접근 연산자를 다음과 같이 이중으로 사용할 수 있습니다.

 

  • 리스트 안에 리스트를 사용할 수도 있습니다.

 

 

리스트에서의 IndexError 예외처리

  • 이 예외는 리스트의 길이를 넘는 인덱스로 요소에 접근하려고 하면 생기는 예외입니다.

 

리스트 연결하기

  • 연산자 + 의 경우 리스트를 연결할 때 사용합니다.
  • 연사자 * 의 경우 리스트를 반복할 때 이용합니다.
  • len()의 경우 리스트의 요소 개수를 구합니다.

 

 

리스트에 요소 추가하기

  • append()함수의 경우 리스트 뒤에 요소를 추가합니다.
  • insert() 함수의 경우 리스트의 중간에 요소를 추가합니다.
insert(삽입할 위치, 삽입할 값)

 

 

  • extend()의 경우 한번에 여러 요소를 추가하고 싶을 때 사용하는 함수입니다.

 

리스트에 요소 제거하기

인덱스로 제거하기:del 키워드, pop()

  • 인덱스로 제거한다는 뜻은 "리스트의 2번째 요소를 제거해주세요"와 같은 의미입니다.
  • del 키워드의 경우 리스트의 특정 인덱스에 있는 요소를 지울때 사용합니다.
  • pop() 함수의 경우 제거할 위치에 있는 요소를 제거합니다.

 

값으로 제거 하기: remove()

말 그대로 '리스트 내부에 있는 2를 제거해주세요'와 같은 의미입니다.

 

모두 제거하기: clear()

리스트 내부의 요소를 모두 제거할 때 사용하는 함수

 

리스트 정렬하기: sort()

리스트 요소를 정렬하고 싶을 때 사용하는 함수, 기본은 오름차순 정렬입니다.

 

리스트 내부에 있는지 확인하기:in/not in 연산자

in 연산자는 리스트 내부에 특정 값이 있는지 확인할 때 사용하는 연산자입니다.

 

not in 연산자는 리스트 내부에 해당값이 없는지 확인하는 연산자입니다.

 

for 반복문

  • 컴퓨터에 반복을 지시하는 방법이 반복문입니다.

 

리스트와 함께 사용하기

for 반복자 in 반복할 수 있는것 :
        코드

리스트에 있는 요소 하나하나가 element라는 변수에 들어가며 반복적으로 출력하게 되는 것입니다.

중첩 리스트와 중첩 반복문

  • 반복문을 여러 겹 중첩해 사용하면 중첩 반복문이라고 합니다. 
  • 중첩 반복문은 일반적으로 n-차원을 처리할 때 사용합니다.

실습문제 (선택미션)

    • list_a = [0,1,2,3,4,5,6,7]이 주어질 졌을 때 다음 함수들이 어떤 결과가 나오는지 생각해보세요.

 

1
2
3
4
5
6
list_a.extend(list_a)  
list_a.append(10) 
list_a.insert(3, 0) 
list_a.remove(3) 
list_a.pop(3) 
list_a.clear() 
cs
드래그 하면 정답이 보입니다.
1. [0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7]

2. [0, 1, 2, 3, 4, 5, 6, 7, 10]
3. [0, 1, 2, 0, 3, 4, 5, 6, 7]
4. [0, 1, 2, 4, 5, 6, 7]
5. [0, 1, 2, 4, 5, 6, 7]
6. []

 

2. 딕셔너리와 반복문

  • 딕셔너리는 키(key)를 기반으로 값(value)을 저장하는 것이라고 할 수 있습니다.
  • 변수 = { 키: 값, 키: 값, 키: 값 } 으로 선언할 수 있습니다.

 

딕셔너리의 요소에 접근하기

  • 딕셔너리의 요소에 접근할 때는 리스트처럼 딕셔너리 뒤에 대괄호[]를 입력하고 내부에 키를 입력합니다.

 

딕셔너리에 값 변경하기

  • 딕셔너리에 이미 존재하고 있는 키를 지정하고 값을 넣으면 기존의 값을 새로운 값으로 대치합니다.

 

딕셔너리에 값 추가하기/제거하기

  • 딕셔너리에 값을 추가할 때는 키를 기반으로 값을 입력합니다.

 

  • 값을 제거할 때는 del 키워드를 사용하여 특정 키를 지정하면 됩니다.

 

딕셔너리의 문자열 키와 관련된 실수

  • NameError : 딕셔너리를 만들 때 key 값에 ""을 사용하지 않으면 NameError라는 오류를 발생합니다.

 

  • KeyError : 딕셔너리에 존재하지 않는 키에 접근하면 KeyError가 발생합니다.

 

딕셔너리 내부에 키가 있는지 확인하기

  • in 키워드 : 딕셔너리 내부에 키가 있는지 없는지 확일때 사용하는 키워드

 

  • get() 함수 : 딕셔너리의 키로 값을 추출하는 기능으로 존재 하지 않는키에 접근할경우 None을 출력합니다.

for 반복문: 딕셔너리와 함께 사용하기

 

 

3. 범위 자료형과 while 반복문

범위

  • 정수로 이루어진 범위를 만들 때는 range()함수를 사용합니다.
  • 범위는 다음과 같은 3가지 방법으로 사용할 수 있습니다.
1. 매개변수에 숫자를 한 개 넣는 방법
0부터 입력받은 숫자-1 까지의 정수로 범위를 만듭니다.

2. 매개변수에 숫자를 두 개 넣는 방법

첫번째 수자부터 두번째 숫자-1까지의정수로 범위를 만듭니다.

3. 매개변수에 숫자를 세 개 넣는 방법

2번의 범위를 만드는데 두 숫자의 차이가세 번째 숫자 만큼 차이를 가집니다.

for 반복문: 범위와 함께 사용하기

range() 함수를 이용하여 반복문 사용

for 반복문: 리스트와 범위 조합하기

리스트의 범위를 이용하여 반복문 이용

for 반복문: 반대로 반복하기

reversed() 함수를 이용하여 반대로 반복문 이용

while 반복문

  • for 반복문 외에도 범용적으로 사용할 수 있는 while 반복문이 있습니다.
while 불 표현식:
      문장

.을 무한으로 출력하기 때문에 컨트롤+C를 눌러 프로그램을 빠져나와야합니다.

while 반복문: for 반복문처럼 사용하기

  • for 반복문 외에 while을 사용하는 이유는 무한 반복과, 조건을 활용하여 반복을 사용해야 될 때가 있기 때문입니다.

while 반복문: 상태를 기반으로 반복하기

while 반복문: 시간을 기반으로 반복하기

  • 시간을 기반으로 반복하려면 유닉스타임을 알아야합니다. 유닉스타임이란 세계 표준시를 기준으로 몇초가 지났는지를 정수로 나타내는 것을 말합니다.
  • 유닉스타임을 사용하려면 import time을 선언하여 시간과 관련된 기능을 가져와야 합니다.

 

while 반복문: break 키워드, continue 키워드

  • break 키워드 : 반복문을 벗어날 때 사용하는 키워드입니다.

 

  • continue 키워드 : 현재 반복을 생략하고 다음 반복으로 넘어갈 때 사용하는 키워드입니다.

 

 

4. 문자열, 리스트, 딕셔너리와 관련된 기본 함수

리스트에 적용할 수 있는 기본 함수

  • min() : 리스트 내부에서 최솟값을 찾습니다.
  • max() : 리스트 내부에서 최댓값을 찾습니다.
  • sum() : 리스트 내부에서 값을 모두 더합니다.

 

  • reversed() : 리스트에서 요소의 순서를 뒤집고 싶을때 사용하는 함수
    • 리스트 이터레이터에 대해서는 아래에서 설명하도록 하겠습니다.

 

  • enumerate() 함수와 반복문 조합하기

 

인덱스와 요소를 한번에 출력하기 위해 사용할 수 있는 함수

 

딕셔너리의 items() 함수와 반복문 조합하기

  • items()함수를 사용하면 key와 value를 조합해서 쉽게 사용할 수 있습니다.

 

이터레이터

  • 반복문 구문에서 "for 반복자 in 반복할 수 있는 것" 에서 반복할 수 있는 것이 프로그래밍 용어로 이터러블이라고 합니다.
  • 즉, 이터러블은 내부에 있는 요소들을 차례차례 꺼낼 수 있는 객체를 의미합니다. ex) 리스트, 딕셔너리, 문자열, 튜플 등
  • 이터러블 중에서 next() 함수를 적용해 하나하나 꺼낼 수 있는 요소를 이터레이터라고 합니다.

 

리스트에 reversed()함수를 사용했을 때 나오는 리턴 값이 바로 이터레이터 입니다.

그런데 왜 reversed() 함수는 리스트를 바로 리턴해주지 않냐면 메모리의 효율성을 위해서입니다.

예를들어 1만개의 요소가 들어있는 리스트를 복제한 뒤 뒤집어서 리턴하는 것보다 기존에 있던 리스트를 활용해서 작업하는것이 더 메모리의 효율성이 좋기 때문입니다.

728x90

'[기타] 스터디 > [혼공학습단 9기] 파이썬' 카테고리의 다른 글

파이썬 공부 (6)  (0) 2023.02.19
파이썬 공부 (5)  (0) 2023.02.11
파이썬 공부 (4)  (0) 2023.02.05
파이썬 공부 (2)  (0) 2023.01.13
파이썬 공부 (1)  (0) 2023.01.06