Data/Python

데이터 분석 핵심 툴_파이썬(Python) 기초 개념 & 함수(2)

SE_TORY 2024. 3. 11. 22:11
728x90

안녕하세요,

오늘은 지난주에 배웠던 파이썬(Python) 기초 개념과 함수에 대해 정리해보겠습니다.

비교연산자, 논리연산자부터 다양한 기초 함수에 대해 이어서 공유하겠습니다!


파이썬(Python) 기초 개념 & 함수

 

리스트 (list)

데이터를 관리하기 편리하도록 묶어서 순서를 정하고 사용하는 데이터 타입

변수에 값을 저장할 때 대괄호([  ])로 묶어주면 리스트가 되며 각 값은 콤마(,)로 구분함

리스트 = [값1, 값2, 값3]

리스트는 문자열, 정수, 실수 등 모든 자료형을 저장할 수 있으며 자료형을 섞어서 저장해도 됨

 

#range 함수를 통해 범위를 지정하고 list 함수로 그 범위를 나타내기
#range 함수는 정수형 숫자만 사용가능하다

 

#range 함수는 직접 범위를 지정할 수도 있다

 

#range 함수에서 증가폭 생성하기 : range(시작, 끝, 증가폭)

 

#range 함수에서 음수로 증가폭을 지정하면 해당 값만큼 숫자가 감소함

 

튜플 (tuple)

튜플은 리스트처럼 요소를 일렬로 저장하지만, 안에 저장된 요소를 변경, 추가, 삭제 불가능함(읽기 전용 리스트)

변수에 값을 저장할 때 괄호 ( ) 로 묶어주면 튜플이 되며, 값은 콤마(,) 로 구분함

괄호로 묶지 않고 값만 콤마로 구분해도 튜플이 됨

튜플 = (값1, 값2, 값3)

튜플 = 값1, 값2, 값3

튜플을 만든 상태에서 요소를 변경하게 되면 에러가 발생하며, 따라서 요소를 실수로 변경하는 상황을 방지할 수 있음

 

# 요소가 한개인 튜플을 만들 때는 괄호 안에 값 한개를 넣고 콤마를 사용해야함.
# 그냥 값 하나만 넣으면 튜플이 아니라 값으로 나온다.

 

# range 범위의 튜플 만들기

 

#튜플을 리스트로, 리스트를 튜플로 변환하기
# print 함수 내에서 변환하는 것은 출력만 변환해서 출력되고, 이를 변수에 저장하려면 다시 변수 지정을 해줘야함

 

# 리스트와 튜플 안에 문자열 넣기 : 문자 하나 하나가 요소로 들어간다

 

#리스트나 튜플을 사용하면 변수 여러개를 한번에 만들 때 변수와 리스트 or 튜플의 요소의 개수는 같아야 함

 

딕셔너리 (dictionary)

파이썬에서는 연관된 값을 묶어서 저장하는 용도로 딕셔너리라는 자료형을 제공함

딕셔너리는 값마다 이름을 붙여서 저장하는 방식

딕셔너리는 중괄호 { } 안에 키 : 값 형식으로 저장하며 각 키와 값은 콤마(,)로 구분함

딕셔너리 = {키1:값1, 키2:값2}

키에는 값을 하나만 지정할 수 있으며 이런 특성을 따서 key-value pair 라고 부름 (키와 값은 1:1 대응)

딕셔너리에 키와 값을 저장할 때, 키가 중복되면 가장 뒤에 있는 값만 사용함

중복된 키는 저장되지 않음

딕셔너리의 키는 문자열 뿐만 아니라 정수, 실수, 불도 사용할 수 있으며 자료형을 섞어서 사용해도 됨

값에는 리스트, 딕셔너리 등을 포함하여 모든 자료형을 사용할 수 있음

 

# dict 함수를 이용해 딕셔너리 만들기

 

# zip 함수를 이용하여 딕셔너리 만들기 (zip 함수로 키 리스트와 값 리스트 병합)

 

# 리스트 안에 (키,값)형식의 튜플을 나열하여 딕셔너리 만들기

 

# 딕셔너리에 여러개의 값을 한번에 추가하기 위해서는 update()함수를 사용함

 

# 딕셔너리에 키가 있는지 확인하고 싶을 때는 in /not in 연산자를 활용하기
# in lux 는 lux.keys가 기본값이고, 생략되어져있음

 

#딕셔너리에 키 개수 구하기 : len 함수를 이용해 구하며, 키와 값은 1:1 대응이므로 키의 개수 = 값의 개수

 

 

파이썬(Python)_ 시퀀스 자료형 활용하기

 

시퀀스 자료형 (sequence types)

값이 연속적으로 이어진 자료형

시퀀스 자료형 중에서는 list, tuple, range, str 을 주로 사용하며, bytes, bytearray 라는 자료형도 있음

시퀀스 자료형은 공통 동작과 기능을 제공함

 

# 시퀀스 자료형의 공통 기능 : 특정 값이 있는지 확인하기
# 값 in / not in 시퀀스객체
# 튜플, range, 문자열도 같은 방법으로 활용할 수 있음

 

# 시퀀스 객체 연결하기 : 연산자로 두 객체를 연결해 새 객체를 만들 수 있음
# 같은 시퀀스 객체끼리는 바로 연결 가능하고 서로 다른 시퀀스 객체(리스트,튜플)를 연결할때는 한쪽을 맞춰줘야 함

 

# range 함수는 list 또는 tuple로 만든 후 합치기

 

#시퀀스 객체의 요소 개수 구하기 : len 함수 사용

 

# 시퀀스 객체에 대괄호[ ] 를 붙이고 그 안에 각 요소의 인덱스를 지정하면 해당 요소를 접근할 수 있음

 

# range 도 인덱스로 접근할 수 있음

 

# len() - 1 : 마지막 문자 추출

 

# 시퀀스 객체는 []로 요소에 접근한 뒤 = 로 값을 할당함

# 튜플,range,문자열 은 읽기 전용임으로 인덱스를 통해 값을 할당하는 것은 불가함 (인덱스로 읽어오는 것만 가능)

 

# del 로 시퀀스객체의 요소를 삭제하기
# 튜플, range, 문자열 모두 삭제 불가능

 

#슬라이스 사용하기 : 시퀀스 객체의 일부를 잘라냄

 

#음수로 인덱스를 지정할 수 있음

 

#인덱스 증가폭 사용하기 : 시퀀스객체[시작인덱스:끝인덱스:증가폭]

 

#인덱스 생략하기

#a[:]와 a[::] 는 결과가 같다.

 

#range 에 슬라이스 된 것을 리스트로 표현하고싶으면 list함수 사용

 

#슬라이스에 요소 할당하기 :특정 범위의 요서에 값을 할당하기

 

#슬라이스에 요소 할당하기 개수를 맞추지 않아도 됨 : 할당되는 개수가 적을 경우 리스트의 요소 개수도 줄어듦

 

#슬라이스에 요소 할당하기 개수를 맞추지 않아도 됨 : 할당되는 개수가 많을 경우 리스트의 요소 개수도 늘어남

 

#슬라이스에 요소 할당하기 : 인덱스 증가폭을 지정하면 할당하는 무조건 개수가 동일해야 함!

 

#인덱스를 통해 리스트 요소 삭제하기

 

#인덱스 증가폭을 가지고 리스트 요소 삭제하기

 

 

728x90