Python-배열과 인덱스, 조건문(if,else)

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일 때 실행되는 문장

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤