1. 배열과 인덱스
(1) 배열
:set()
-> 중복을 허용하지 않음.
> ex) names = [“갑”, “을”, “을”, “갑”, “병”]
print(set(names))
결과:{을, 갑, 병}(순서가 없음)
>a =”파이썬은 0부터 숫자를 센다.”
print(a)
결과: 파이썬은 0부터 숫자를 센다.
>여기서 ‘0’은 문자로 취급.
파이썬은 0부터 숫자를 셈.
스페이스(공백)도 문자.
역순으로 셀 때, -1부터 시작.
2. 인덱싱(indexing)
:목차
:수월하게 찾기 위해 사용.
+더 간결하게 뽑아내는 법 = **슬라이싱 활용**
3. 슬라이싱(slicing)
>a[0:3] ==> 0번째부터 3번째까지 뽑아냄. (시작 값 포함, 끝 값은 미포함)
>역순으로 섞어서 사용하는 것은 비추.
ex) weather = today[9:-1]
ex)
today = “20250408sunny”
“`
year = today[:4]
date = today[4:8]
weather = today[9:]
print(year)
print(date)
print(weather)
“`
<실행결과>
2025
0408
sunny
4. 리스트(list)
:여러 개의 값(데이터)을 한 번**에 **저장하고 관리**할 수 있는 자료형.
-리스트의 기호는 대괄호[] 임
-리스트는 순서 존재(=인덱스가 있음)
-**인덱싱& 슬라이싱 가능함.**
-**리스트 안에 리스트를 넣을 수 있음**(일반적으로 **이중리스트까지 만듦**)
이때, 묶여있는 리스트는 한 개로 취급
-각각의 값은 ,(콤마)로 구분
-리스트명을 넣어야함
-대괄호 안에 아무것도 없으면 = 비어있음
>>ex) 리스트명=[값, 값, 값…..]
-슬라이싱은 리스트로 잘랐으면 리스트로 나옴.(리스트슬라이싱의 경우!)
>>ex) a[0:1] ==>a[1]
a[0] ==>1(x)
(4)-1 리스트만 사용할 수 있는 함수
1. append() =>추가하다.(맨 뒤에)
여기서 . 은 of (~의)의 뜻
>>ex) 리스트 이름.append(“원하는 값”)
2. insert() =>삽입하다.(내가 원하는 위치에 추가 가능)
원래 그 순서에 있던 값은 뒤로 밀려남. 사라지지 않음.
>> ex) 리스트명.insert(추가할 위치의 인덱스,”추가할 요소”)
+리스트명.pop() => 인덱싱 + remve (꺼내고 나서 버림)
리스트명.sort() => 자동으로 오름차순 정리
리스트명.reverse() = 자동으로 내림차순 정리
3.index() => 리스트안에 **특정요소의 인덱스(순서 번호)를 가져오**는 함수.
>>ex)리스트명.index(값)
4.del(delete) => 리스트의 특정요소를 *인덱스*로 제거. (명령어)
>>ex) del + 리스트명[인덱스]
5.remove(값) =>리스트의 특정요소를 *값*으로 제거)(함수)
>> ex) 리스트명.remove()
6.sum(리스트명) =>리스트의 값들의 총 합을 구할 때 사용
7. reverse()
:리스트를 **역방향**으로 바꾸는 메소드 (리스트로 출력)
ex)
my_list = [“가”, “나”, “다”, “라”]
**my_list.reverse()**
print (my_list)
->결과
[‘라’, ‘다’, ‘나’, ‘가’]
2. 튜플(tuple)
-튜플은 소괄호 씀 ()
-리스트와 특징 같음.
-차이점은 불변함(값을 바꿀 수 없음)
-튜플은 안에 인자 삭제, 추가 불가
=> 튜플에서 하나의 값만 저장할 때 (괄호 없으면 숫자로 인식)
>>ex) t2 = (1, ) —-> 값으로 나옴
>>t4 = 1, 2, 3
–>괄호 생략 시, 여러개 저장할 경우 튜플로 저장됨.
(기호생략 튜플만! 하지만 비추)
<튜플 인덱싱, 더하기, 슬라이싱, 곱하기>
<튜플 VS 리스트>
-리스트는 인자를 추가할 수 있음.
그렇기 때문에 가변길이임.
언제 바뀌는 지 확인해야함.
-튜플은 속도가 상대적으로 빠름.(인자가 고정되어있기 때문에 고정길이)
>>ex)주민등록번호는 변화x(읽기만 하는 내용) —>튜플로 저장
3. 딕셔너리(dict)
:사전
-중괄호 { } 사용
-key:Value로 구성 / 이 두 가지는 한 쌍임 / 둘 중 하나만 있으면 안됨.
-인덱스 존재X(순서가 없음), 순서가 중요하지 않음.
-key로 값을 찾음.
>> a [“key값”]
**딕셔너리에 리스트 들어갈 수 있음.
-딕셔너리에서 key는 중복을 허용하지 않음.
-딕셔너리에 여러개 저장하려면 리스트 사용해야함.(튜플도 가능)
튜플은 인덱스 가능함 -> 원하는 순서의 값을 출력가능.
-딕셔너리 key에는 튜플 사용 가능, 리스트는 불가.(key는 고정값이기 때문)
>>ex) {“취미”:[’수영‘, ’영화‘]}
–>리스트로 선언해야함. (리스트 수정가능!)
4. 집합(set)
:교집합, 합집합, 차집합 기능을 수행할 수 있음.
<특징>
-중괄호 사용 { }
-*딕셔너리와 구분?*
딕셔너리는 key와 value가 한쌍임. 집합은 x
-중복 허용 x 순서 x
5. 불리안(Boolean)
:부울 또는 불리안
-True 와 False있음
**-불리안 타입은 항상 앞 글자 대문자**
비교 연산자
>> !가 들어간 것은 무조건 부정.
항상 =(이퀄)은 오른쪽임.
연산자(and, or, not)
:두 조건이 참일 때만 참
:두 조건 중 하나만 참이면 참
:결과를 반전시킴
연산자 우선순위
1.산술연산자
2.비교연산자
3.논리연산자
4.대입연산자
데이터 교환방법
**일반적으로**
*temp
: 임시 변수 (잠깐 쓰고 버릴 변수)
“`
temp = a
a = b
b = temp
“`
**파이썬에서만 가능한 데이터 교환법**
“`
x = 10
y = 20
—> x,y = y,x
“`
### *add*
:변수이름.add(추가하고 싶은 인자값)
>>ex) a.add(5)
#### 딕셔너리에 폴라포 key가 있는지 확인하는 법
*in (안에 있어?)*
아이스크림이라는 변수에 폴라포(key값) 있음
>>”폴라포”in icecream = True
*not in (안에 없어?)
2. 제어문
조건문
-들여쓰기 Tap키 (스페이스바 4번)
>>들여쓰기가 중요
1. if 조건문
: 만약 ~라면
>>ex)
if 조건:
명령1
명령2
명령3
-조건 True일 경우 명령1 명령2 실행.
-명령3은 조건에 관계없이 실행됨.
-if앞에 조건식 대신 변수가 들어오는 경우도 있음. (사용하는 경우가 거의 없음)
2. if else문
:만약 위 조건이 아니면
-if가 없으면 단독 사용 불가.
>>ex)
if 조건:
…
…
else:
…
(들여쓰기 주의)
3. if-elif문
:위 조건이 아니면서 만약 조건2가 참이라면
-if가 없으면 단독 사용 불가.
>>if, elif, else 순으로 넣어야함!
3. 포맷팅
3-(1)포맷코드
>>숫자는 문자열로 자동 변환됨.
(%s)사용 가능
하지만, 문자는 안됨.
**부동 소수의 경우(%f)**
>>ex)
pi = 3.141592
print(“%f” %pi)
-> print(“%.2f” %pi) -==> 소수점 두자리까지만 표현됨.
3-(2) 포맷함수
:format() 문자열의 함수임
>>ex) print(“{}학년 {}반 {}번 {}입니다.”.format(값,값,값……))
<조건문(분기)>
if 조건식1:
조건이 참일 때 실행되는 문장
elif조건2:
조건1이 아니면서 조건2이 참일 때 실행되는 문장
elif조건3:
조건1, 2 가 아니면서 조건3이 참일 때 실행되는 문장
else:
조건1,2,3이 모두 False일 때 실행되는 문장


