[Python] Python TIL 문법 정리

Sophie·2024년 10월 16일

[TIL] 2024-10-16 Python

  • Python 컨테이너형 변수

    • 리스트 (List)
      • 대괄호 [ ] 사용

      • 여러 값을 순서대로 담을 수 있음

      • 예시)

        my_list = [1,2,3,4,5]
      • 리스트의 인덱싱 (indexing)

        firstNum = my_list[0]
        secNum = my_list[1]
        lastNum = my_list[-1]
      • 특정 위치의 값 변경하기

        • e.g. my_list[3] = ‘dragonfruit’
      • 중첩된 리스트에서 인덱싱

        • 예시)

          nested_list = [[1,2,3],[4,5,6]]
          print(nested_list[0][2])
          # -> 3 출력
      • 리스트의 메서드 (method)

        • append() : 값을 추가, 새로운 항목 추가 ***
        • extend() : 다른 리스트의 모든 항목을 이어서 추가
        • insert() : 해당하는 특정 위치에 항목 삽입
        • remove() : 특정 값을 삭제
          • del 리스트명[n] 로도 특정 위치 값 삭제할 수 있음
          • 리스트명.clear() : 리스트 전체를 비움
        • pop() : 해당 위치의 값을 제거하고 반환
        • index() : 리스트에서 특정 값의 인덱스를 찾음
        • count() : 특정 요소의 개수
        • sort() : 리스트의 항목들을 정렬
          • sort(reverse=True) ← 이렇게 역순 정렬도 가능함
          • sort(key=len) ← 길이 기준으로 정렬도 가능
        • reverse() : 역순 정렬
      • 기타 활용

        • sum(my_list) : 리스트 안의 모든 값의 합
        • len(my_list) : 리스트 요소들의 개수 (리스트의 길이)
      • 슬라이싱

        • 기본 구조

        • my_list[시작:단위: 끝]

        • 예시)

          my_list = [1,2,3,4,5,6,7,8,9,10]
          print(my_list[2:5]) # 3번째 숫자부터 ~ 끝 인덱스 숫자 미만까지 나옴.
          # 3,4,5 가 나옴
          
          print(my_list[-3:] # 뒤에서 세번째부터 끝까지
          # 8,9,10 이 나옴
          
          print(my_list[:-1]) # 맨 처음부터 끝에서 하나 전까지
          # 1,2,3,4,5,6,7,8,9 이 나옴
          
          my_list[:] # -> 전체 다 
          reversed_list = my_list[::-1] # 리스트 거꾸로 뒤집기
      • 실제 사용 예시

        from sklearn.datasets import load_iris
        
        # Iris 데이터셋
        iris = load_iris()
        
        # 데이터셋을 train 데이터와 test 데이터로 나눌 때, 
        
        train_data = iris.data[:100]  # 인덱스 0부터 99까지의 데이터 추출
        print("학습 데이터:", train_data)
        test_data = iris.data[100:]  # 인덱스 100부터 끝까지의 데이터 추출
        print("학습 데이터:", test_data)
    • 튜플 (Tuple)
      • 여러 개의 요소를 저장하는 컨테이너임.

      • 리스트와 유사

      • 변경할 수 없는 시퀀스 자료형

        → 데이터를 보호하고 싶을 때 사용함

      • 소괄호를 사용함

      • 예시)

        my_tuple = (1,2,3,a,b)
      • 튜플의 메서드

        • .count()
        • .index()
        • but,
          리스트와 다르게 값을 추가, 삭제하는 등의 메서드는 불가능함.
    • 딕셔너리 (dictionary)
      • 키와 값이 쌍을 이루면서 데이터를 저장하는 자료 구조
      • 중괄호를 사용함
      • 기본 구조
        my_dict = {
         'key1' : 'value1',
         'key2' : 'value2',
         'key3' : 'value3',
         'key4' : 'value4'
         }
      • 인덱싱
        • my_dict[’key1’] → ‘value1’ 에 접근 가능
      • 메서드
        • .keys() : 딕셔너리의 키들 확인
        • .values() : 딕셔너리 안의 값들 확인
        • .items() : 딕셔너리 안의 키-값들 확인
        • get() : 특정 키의 해당 값을 가져옴
        • pop() : 특정 키의 값을 삭제
        • popitem() : 마지막 값을 삭제하고 반환해줌
  • 2주차 완_ 👵


  • 반복문
    • for문

    • 기본 구조

      for 변수 in 반복할 데이터:
      		코드 블록
    • range() 와 함께 활용

      • range(N)
      • range(start, end+1, step)
    • 예시)

      # 기본 구조 예시
      fruits = ['사과', '바나나', '라임']
      for fruit in fruits:
      		print(fruit)
      		
      # range() 함수와 함께 사용
      for i in range(6):
      		print(i)
      		
      # 딕셔너리에 이용
      person = {"name": "John", "age": 30, "city": "New York"}
      
      for key, value in person.items():
      		print(key, value)
    • 이중 for 문

      • 중첩된 데이터 구조를 탐색, 이차원 데이터 처리할 수 있음
    • 기본 구조

      for i in iterableX:
      	for j in iterableY:
      			코드블럭
    • 예시)

      # 구구단 출력
      for i in range(2,10):
      	for j in range(1,10):
      			print(i, "x", j, "=", i*j)
      			
      # -> 출력 값 ->
      2 x 1 = 2
      2 x 2 = 4
      2 x 3 = 6
      2 x 4 = 8
      2 x 5 = 10
      2 x 6 = 12
      2 x 7 = 14
      2 x 8 = 16
      2 x 9 = 18
      3 x 1 = 3
      3 x 2 = 6
      3 x 3 = 9
      .
      .
      .
      9 x 1 = 9
      9 x 2 = 18
      9 x 3 = 27
      9 x 4 = 36
      9 x 5 = 45
      9 x 6 = 54
      9 x 7 = 63
      9 x 8 = 72
      9 x 9 = 81
    • while 문

      • 조건을 만족하는 동안 코드 블록을 반복적으로 실행하는 반복문

      • 기본 구조

        while 조건:
        		코드_블록
      • 예시)

      • i가 5일 때까지 (True 일 때까지) 코드블록을 반복함.

        *무한 반복 주의 !
        i=1
        while i <= 5:
        		print(i)
        		i += 1
    • 무한 루프와 break 문

      • 반복문에는 break, pass, continue 의 반복 동작 제어문을 함께 자주 이용
        • break : 반복문의 동작을 중단

          while True:
          	user_input = input("Type 'quit' to exit: ")
          	if user_input == 'quit':
          		break
          	print("You typed:", user_input)
        • pass : 아무 동작을 하지 않고 다음으로 넘어감

          numbers = [1,2,3,4,5,6,7]
          
          for num in numbers:
          	if num % 2 == 0:
          		pass
          	else:
          		print(num, "은 홀수입니다.")
        • continue : continue 이하 코드 실행 X, 다음으로 넘어감

          num = 0
          while num < 10: # 3. 다음 반복문을 실행
          	num += 1
          	if num % 2 == 1: # 1. 홀수면, 
          		continue # 2. 건너뛰고 
          	print(num)

0개의 댓글