[스파르타 코딩클럽] 부트캠프

[Python] 파이썬 기초 개념 : Print, 변수, 리스트, 튜플, 딕셔너리 | 25.05.26 (월)

marketing-moong 2025. 5. 26. 20:08

📌 오늘 학습 키워드

  • Print
  • 변수
  • 리스트 (append, extend, insert, sort, reverse) 
  • 튜플 (count, index) 
  • 딕셔너리 (keys, values, items) 
  • 메서드 

📖 오늘 학습한 내용을 나만의 언어로 정리하기

1️⃣ Print 함수

  • 화면에 값을 출력하는데 사용한다. 
  • 괄호 안에 출력하고자 하는 값을 입력한다. 
  • 여러 값을 출력할 때는 쉼표로 구분한다. 

2️⃣ 변수

  • 어떠한 값을 담는 바구니 
    x = 10 / print (x) → 10이라는 숫자를 x에 담는다. x라는 변수에 10을 담았다. 
  • 변수 선언 : 내가 원하는대로 변수 이름을 짓수, 넣고 싶은 값을 넣어주면 된다. 
  • 변수를 이용하면 출력을 할 수 있고, 계산을 할 수 있고, 계산한 값을 새로운 변수에 담을 수도 있다. 

3️⃣ 변수의 자료형 

  • 정수 (int), 실수(float), 문자열(str), 리스트(list), 튜블(tuple), 딕셔너리(dict) 등이 있다. 
  • 정수 (int) : 딱 떨어지는 소수점으로 이뤄지지 않은 숫자
  • 실수 (float) : 정수, 소수점으로 이뤄진 숫자, 딱 떨어지지 않는 숫자 등 우리가 생각하는 모든 숫자 
  • 정수와 실수를 구분해야 하는 상황이 있을 수 있다. 
    ex) 계산한 결과가 반드시 정수여야 하는 경우 : 개수를 구할 때 
  • type 함수를 사용하면 해당 변수가 어떤 자료형인지 알 수 있다. 
  • age = 25.0으로 변수값을 주었을 때, print(type(age))를 하면 float(실수)로 처리된다. 

🔷 문자열 

  • 반드시 따옴표 안에 작성해야 한다. 
  • 문자열에 따옴표를 넣어야 하는 상황을 고려하여 작은/큰따옴표를 선택적으로 사용 가능하다. 
  • 여러 문자열을 합치고 싶은 경우, 문자열 연산 +를 사용하면 된다. 

🔹문자열과 함께 쓰는 메서드 사용하기

     ex) sentence = 'Python programming is fun'
           print(sentence, upper()) → 대문자로 변환하여 출력


 

🔷 숫자열 

  • integer_division_result : num1 // 2 → 나눈 몫에 대한 값 출력
  • reminder_result : num1 % num2  → 나머지 값 출력 (3의 배수를 찾아야 하는 경우에 이용할 수 있다. 
    ex) 3의 배수 찾기 → num1= 7, num2 =2, num1 % 3 = 0인 경우 찾기 
  • 메서드 활용하기 : abs(num) 절대값 계산 , round(num) 반올림 계산 
  • 어떤 연산이던 실수랑 한번 계산하면 실수 형태 (float)으로 나온다. 

🔷 불리언 

  • 주어진 조건이 참(True) 또는 거짓(False)을 나타내는데 사용
  • 조건식을 평가할 때 매우 중요. 데이터 분석에서 자주 활용
  • 불리언 자료형을 변수에 선언하거나, 간단한 논리연산을 수행하는 방법으로 사용 가능하다. 

🔷 NaN (결측값) = Not a Number 

  • 데이터에서 결측치(missing value)를 나타내는 특수한 값
  • 정의할 수 없는 수치값 
    ex) 0으로 나누는 연산, 데이터 자체의 문제로 값이 담기지 않는 경우 

🔷 입력문 INPUT

  • 사용자가 특정 값을 입력할 수 있도록 입력창을 만들어 주는 것 
  • INPUT 함수를 쓰면 결과값이 항상 문자형(str)로 만들어진다.  

4️⃣ 리스트 [ ]

  • 파이썬에서 가장 자주 사용되는 데이터 구조 
  • 여러 항목들을 담을 수 있는 가변(mutable)한 시퀀스 
  • 대괄호를 사용하여 리스트로 만든다.
  • 여러 값을 순서대로 담을 수 있다. 
  • 각 값은 쉼표로 구분되며, 대괄호 안에 들어간다. 

<리스트의 기본 사용법>

 

🔷 인덱싱 (Indexing) 

  • 리스트에서 특정 값에 접근하거나 일부분을 추출하는 방법 
    numbers = [1, 2, 3, 4, 5]
    first_number = numbers[0]
    print ('First number :', first_number) → 결과값 : First number : 1

 

🔷 메서드

  • 사용할 메서드 앞에 온점을 찍어준다. 
      • append(element): 리스트에 항목을 추가합니다.
        → 맨 뒤에 element 값이 추가된다. 
      • extend(list element): 리스트에 다른 리스트의 모든 항목을 추가합니다.
        맨 뒤에 list element 값이 추가된다. 
      • insert(index, element): 리스트의 특정 위치에 항목을 삽입합니다.
        ex) 두 번째 위치에 값 삽입 : my_list.insert(2,10) →  결과값 : [1, 2, 10, 3, 4, 5]
      • remove(element): 리스트에서 특정 값을 삭제합니다.
        리스트에서 element 값 삭제
      • pop(index): 리스트에서 특정 위치의 값을 제거하고 반환합니다.
        index 번 째 위치한 값 제거하고 반환 
      • index(element): 리스트에서 특정 값의 인덱스를 찾습니다.
        element의 인덱스 
      • count(element): 리스트에서 특정 값의 개수를 세어줍니다.
        리스트에서 element 와 동일한 값의 개수 
      • sort(): 리스트의 항목들을 정렬합니다.
      • reverse(): 리스트의 항목들을 역순으로 뒤집습니다.

 

값을 제거하는 메서드
메서드 / 구문 형식 예시 의미
remove (element) 함수 호출 list.remove(3) element 값 삭제
pop (index) 함수 호출 list.pop(2) index 위치의 값을 삭제하고 변수로 정의
clear () 함수 호출 list.clear() 리스트 값 내 모든 항목 제거 
del [index] 구문 (Keyword) del list[2] index 위치의 값을 삭제 

 

알아두면 좋은 점
( ) 와 [ ] 쓰임의 차이

 

1. ( )는 함수나 메서드를 호출하는 방법 

  • 함수나 메서드는 어떤 기능이나 작업을 수행하는 코드 덩어리다. 

2. [ ] 를 사용하는 인덱싱/슬라이싱/삭제 구문의 개념 

  • 객체 내부의 특정 항목에 접근하는 문법이다. 

 

del은 파이썬의 키워드다. (직접 값을 삭제하는 문장) 

pop, remove, clear은 모두 리스트라는 객체에 포함된 메서드다. 

항목 ( ) 함수 / 메서드 호출 [ ] 인덱싱 / 슬라이싱 
역할 기능을 수행하는 코드 실행 데이터에 접근하거나 수정
사용 대상 함수, 메서드 리스트, 문자열, 딕셔너리 등 
예시 list.append(), print() list[2], del list[2]
내부 의미 값을 전달하고 실행함 특정 위치의 데이터에 접근 

 

🔷 리스트 값 변경 

ex) my_list[index] = 'dragonfruit' → index 위치의 값을 dragonfruit로 변경 

 

🔷 중첩된 리스트에서 인덱싱하기 

ex) nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

print(nested_list [1][0]) → 결과값 : 출력 4 

 

🔷 실전 사용 예시 : 간단한 데이터 연산 

grades = [ 85, 92, 87, 95, 80 ]

average_grade = sum(grades) / len(grades) 

print('평균 성적 :' , average_grade) 

 

✅ 리스트 고급 사용법 

 

🔷 슬라이싱 

  • 리스트의 일부분을 추출하는 것 
  • 리스트에서 특정 범위의 항목을 선택하거나, 리스트를 자르는 작업을 할 수 있다. 
  • new_list = old_list [ start : end : step ]
    - start : 어디서부터 
    - end : 어디까지 
    - step : 값을 몇 단계 건너뛰어서 가져올 때 ex) 짝수에 해당하는 숫자만 가져올 때 
  • 끝(end)에 입력할 인덱스는 내가 선택할 인덱스보다 +1을 해줘야 한다
    = 슬라이싱은 뒤에 적어준 값보다 한 칸 전까지 간다. 
  • 슬라이싱을 활용하여 홀수/짝수 값만 구하기 
    ex) my_list = [10, 20, 30, 40, 50, 60, 70, 80, 90] 
    odd_index_value = my_list [ 1 : : 2 ] 

🔷 정렬 sort 

  • sort 메서드를 호출하면 리스트 내의 항목들이 오름차순으로 정렬된다. 
  • 원래의 리스트를 변경하여, 새로운 정렬된 리스트를 반환하지 않는다. 
  • 내림차순 정렬 : my_list.sort(reverse = True) 

5️⃣ 튜플 ( )

  • 변경할 수 없는 (immutable) 시퀀스 자료형 
  • 리스트와 유사하지만 한 번 생성된 이후에는 요소를 추가, 삭제, 수정 불가능 
  • 데이터를 보호하고 싶을 때 주로 사용 
  • 소괄호를 사용하여 생성, 쉼표로 구분 

🔷 메서드

  • count (element) : 지정된 요소(element)의 개수를 반환 
    ex) my_tuple = (1, 2, 3, 4, 1, 2, 3) 
    count_of_1 = my_tuple.count(1)
    print (count_of_1) 결과값 : 2 (튜플에서 element 1의 개수) 
  • index (element) : 지정된 요소(element)의 인덱스를 반환
    ex) my_tuple = (1, 2, 3, 4, 1, 2, 3) 
    index_of_3 = my_tuple.index(3) 
    print(index_of_3) → 결과값 : 2 (튜플에서 element 3의 위치) 

6️⃣ 딕서너리 { }

  • 키(Key) + 값(Value) 쌍의 데이터를 저장하는 자료 구조 
  • 중괄호로 둘러 쌓여 있으며, 각 요소는 쉼표로 구분한다. 
  • 각 키(Key)는 유일해야 하지만, 값(Value)는 중복될 수 있다

🔷 딕셔너리 기본기 

  • 다양한 용도로 활용 가능하다. 
    ex) 학생이름을 key로, 점수를 value로 하여 성적표를 만들 수 있다. 
  • 판다스에서 데이터 프레임을 만들 때 표로 만들기에 유용하다. 
  • 딕셔너리는 리스트나 튜플과 달리 인덱스로 값을 찾아내는 것이 아니라, key로 찾아낸다 
    따라서, 키 정보만 알고 있으면 쉽게 데이터에 접근이 가능하다. 

🔷 딕셔너리 메서드 

  • keys() : 모든 키를 dict_keys 객체로 반환한다. 
  • values() : 모든 값을 dict_values 객체로 반환한다. 
  • items() : 딕셔너리 안에 key-value가 어떻게 짝지어져 있는지 보여준다. 

→ 딕셔너리 내 어떤 값들이 있는지 보여준다.


 학습하며 겪었던 문제점 & 에러

1. 리스트의 길이 구하기 : len 함수

my_list = ['apple','banana','orange','grape']
len(my_list) 

-- 4

 

리스트의 길이를 구하는 함수는 len 이다. 

len ( ) 괄호 안에 리스트의 이름을 입력해주면 된다. 

 

2. 리스트를 역순으로 출력하기 : [ : : -1 ], reverse( ) 함수

 

my_list = ['red', 'green', 'blue', 'yellow']
new_list = my_list [ ::-1]
print(new_list)

--

my_list = ['red', 'green', 'blue', 'yellow']
my_list.reverse()
print(my_list)

 

리스트를 역순으로 출력하는 방법에는 두 가지가 있다. 

 

1) 슬라이싱 : 리스트의 일부분을 추출하는 것 

new_list = old_list [ start : end : step ]

step 부분에 -1을 적어주면 리스트를 역순으로 출력할 수 있다. 

 

2) reverse () 함수 

리스트의 값들을 역순으로 정렬해주는 것 

 

3. 튜플을 역순으로 출력하기

my_tuple = ('red', 'green', 'blue', 'yellow')
reversed_tuple = my_tuple[::-1]
print(reversed_tuple_

--

my_tuple = ('red', 'green', 'blue', 'yellow')
my_tuple_list = list(my_tuple_ 
reversed_list = my_tuple_list [::-1]
reversed_tuple = tuple(reversed_list) 
print(reversed_tuple) 

-- 

my_tuple = ('red', 'green', 'blue', 'yellow')
reversed_tuple = tuple(reversed(my_tuple) 
print(reversed_tuple)

 

1) 슬라이싱 이용 : [::-1]

슬라이싱 기법 중 하나로 전체를 역순으로 가져오는 방법이다. 

가장 간단하고 빠르며, 튜플을 바로 역순으로 만들 수 있다. 

 

2) 리스트로 변환 후 역순 슬라이싱 

튜플을 리스트로 바뀐뒤 슬라이싱으로 뒤집고 다시 튜플로 변환한다. 

중간에 리스트로 변환해 조작이 가능하므로, 역순 외 다른 여러 작업을 추가로 할 때 유용하다. 

단, 변환 과정이 추가되므로 직접 슬라이싱보다 조금 복잡하다. 

 

3) reversed() 함수 사용 

reversed()는 반복 가능한 객체를 역순으로 순회할 수 있도록 해주는 함수이다. 

reversed(my_tuple)로 하면 역순으로 하나씩 꺼낼 수 있는 도구를 만들어주지만 아직 튜플은 아니다. 

이 것을 튜플로 바꾸기 위해 tuple()을 씌워준다. 

 

4. 딕셔너리에서 'age' 제거하기

my_dict = {'name': 'Charlie', 'age': 35, 'city': 'Chicago'}
del my_dict['age']

🎯 내일 학습할 내용

  • 내일 오전 라이브 세션이 진행되기 전 위의 내용을 복습한다. 
  • 이후에는 라이브 세션 일정에 따라 진행한다.