Python

2024.01.04 (목) 연산자, 시퀀스 자료형, 리스트

gosikoca 2024. 1. 4. 17:28

연산자

  • 논리연산
  • 할당연산
  • 식별연산(is 구문, id)
  • 멤버연산(in 구문)
  • 연산과 연산자 우선순위

시퀀스 자료형

  • 인덱싱 (Indexing)
  • 슬라이싱 (Slicing)
  • 특정 항목의 포함 여부(Member)
  • 연결 및 반복 (Iteration)
  • 내장 함수
  • 패킹과 언패킹

리스트

  • 리스트 생성
  • 리스트의 수정 및 다차원 리스트
  • 리스트 연산

리스트 인덱싱

리스트 슬라이싱

 

오늘 배운 내용을 정리해 보자면 크게 3가지로 연산자, 시퀀스 자료형, 리스트 로 나누어 볼 수 있는데 하나씩 복습하면서 설명을 해보겠다.

 

1. 논리 연산자 (and, or, not )

먼저 연산자는 and, or, not 를 사용하며 True를 1로, False를 0으로 생각하며 연산을 진행한다. 

 

and  -> 두 조건이 모두 참일 때 True를 반환, 하나라도 조건이 틀리면 False을 반환한다.

or     -> 하나라도 조건이 맞으면 True

not   -> 주어진 조건의 반대 값을 반환 즉, TrueFalse로, FalseTrue로 바꿉니다.

 

1.1 단락평가

A and B 형태의 연산에서 A가 거짓으로 평가되면, B는 평가되지 않고 바로 False로 결정

 

1.2 할당연산

1.3 식별연산 (is 구문, id)

파이썬에서는 isis not을 사용하여 이를 확인

is        -> 두 변수가 같은 곳에 저장된 정보를 바라보고 있다면 True

is not  -> 두 변수가 같은 곳에 저장된 정보를 바라보고 있다면 False

 

 

xy는 같은 리스트를 참조

z는 새로운 리스트를 참조

각 변수의 id 값을 확인해보겠습니다

xyid 값은 같지만, zid 값은 다릅니다.

 

1.3 멤버연산(in 구문)

 

in  -> 값이 목록 안에 있으면 참(True)이에요.

not in  -> 값이 목록 안에 없으면 참(True)이에요.

 

 

 

is는 is not이고 in은 not in입니다.

 

 

 

1.4 연산과 연산자 우선순위

 

 

연산자 연습문제

1. 다음 코드의 실행 결괏값을 예상해보세요

 

 

False

True

True

True

 

2. 다음 코드의 실행 결괏값을 예상해보세요

 

False

 

 

3. 변수 c 안에 들어있는 가격을 100원짜리 몇개로 거슬러 줄 수 있는지 출력해주세요

 

c/100

 

 

4. (심화문제) 입력한 금액을 5000원, 1000원, 500원, 100원으로 교환하는 프로그램을 만들어주세요.

 

colab 주소

https://drive.google.com/file/d/1viVHfuayotQFb2xoNQeR5xlUpveJJCOy/view?usp=sharing

 

2. 시퀀스 자료형

2.1 인덱싱

첫 번째 항목의 인덱스는 0이며, 그 다음 항목은 1, 2, ... 순으로 증가

2.2 슬라이싱

시퀀스의 일부분을 선택하여 새로운 시퀀스를 생성

2.3 특정 항목의 포함 여부

innot in 키워드를 사용하여 시퀀스에 특정 항목이 포함되어 있는지 확인할 수 있습니다.

2.4 연결 및 반복 (Iteration)

+ 연산자를 이용해 시퀀스를 연결할 수 있으며, * 연산자를 이용하여 반복할 수 있습니다.

2.5 내장 함수

len(), max(), min(), count(), index() 등의 여러 내장 함수를 지원합니다. 내장 함수는 각 자료형에서 더 깊이 다뤄보겠습니다.

2.6 패킹

패킹은 여러 개의 데이터를 하나의 변수에 담는 과정을 의미

2.7 언패킹

언패킹은 패킹된 데이터를 여러 개의 변수로 분배하는 과정

2.8 별표(*)를 이용한 언패킹

별표(*)를 사용하면, 여러 개의 요소를 한번에 변수로 할당

 

3. 리스트

3.1 리스트 생성

리스트를 생성하는 방법 역시 간단합니다. 대괄호([]) 안에 쉼표(,)로 구분된 데이터들을 넣으면 됩니다.

 

3.2 리스트의 항목 변경하기

 

a의 첫 번째 항목을 10000으로 변경

 

 

3.3 리스트의 다차원 리스트

b[1][2]b 리스트의 두 번째 리스트 항목의 세 번째 값을 의미하며, 이 값은 3입니다.

 

3.4 리스트 연산

3.4.1 덧셈과 곱셈 연산

 

3.5 리스트 인덱싱

인덱스는 0부터 시작하며, 리스트의 마지막 항목의 인덱스는 -1입니다.

3.6 리스트 슬라이싱

슬라이싱은 [start:stop:step] 형태로 사용하며, 마찬가지로 step은 기본적으로 1이며 생략할 수 있습니다.

 

colab 주소

https://drive.google.com/file/d/1-Ck_Xjf8wU3KnaZrlweUMLObF6Qo_j3J/view?usp=sharing