시퀀스 자료형

Namung's Sea·2021년 10월 25일
0

NIPA AI 온라인 교육

목록 보기
3/18
post-thumbnail

💪 선행 학습 내용

  • 인덱싱 : 시퀀스의 한 원소를 가져오는 것
  • 슬라이싱 : 시퀀스의 일부분을 가져오는 것

시퀀스 자료형

  • 순서가 있는 자료형.
  • 리스트, 문자열 등이 이에 속함.

code

a = "Once" #문자열
b = ['T', 'W', 'I', 'C', 'E'] #리스트
c = (1, 2, 3, 4, 5) #튜플

특징

  • 원소간의 순서가 존재. -> 인덱싱/슬라이싱이 가능.
a = "once"
b = ['t', 'w', 'i', 'c', 'e']
print(a[1]) # 출력: n
print(b[2:4]) # 출력: ['i', 'c']

슬라이싱은 자료형의 특성을 그대로 가져온다.
예를 들어 문자열을 슬라이싱하면 그래도 문자열!
리스트를 슬라이싱하면 그대로 리스트!

  • 인덱싱/슬라이싱을 할 때 음수를 넣거나, 자리를 비우는 것도 가능!
a = "once"
b = ['t', 'w', 'i', 'c', 'e']
print(a[-1]) # 출력: e  | 뒤에서 1번째 원소
print(b[:3]) # 출력: ['t', 'w', 'i']  | 처음 ~ 3번째 미만까지 슬라이싱
  1. 멤버 조회
    in 연산자로 시퀀스 안에 원소가 있는지 확인 가능.
a = "once"
b = ['t', 'w', 'i', 'c', 'e']
print('o' in a) # 출력: True  | 문자열 'o'가 문자열 a에 있니?
print('b' in b) # 출력: False  | 문자열 'b'가 리스트 b에 있니?

위의 예시를 통해서 in 연산자는 이렇게 활용함을 확인할 수 있다.
원소 in 시퀀스 -> 출력: True or False

  1. 길이 확인
    len 연산자로 시퀀스 안에 원소가 몇 개 인지 확인 가능
a = "once"
b = ['t', 'w', 'i', 'c', 'e']
print(len(a)) # 출력: 4
print(len(b)) # 출력: 5
  1. 연결 연산
    + 연산자같은 시퀀스 두개를 이어 붙일 수 있다.
c = ['t', 'w', 'i'] + ['c', 'e']
print(c) # 출력: ['t', 'w', 'i', 'c', 'e']
  1. 반복 연산
    * 연산자로 시퀀스를 반복할 수 있다.
d = "shy" * 3
print(d) # 출력: shyshyshy

문제

1. 시퀀스의 인덱싱과 슬라이싱

  1. 문자열 "Impossible"이 담긴 변수 my_str을 만들어봅시다.
  2. 리스트 ["Apple", "Banana", "Chamwae", "Durian"]이 차례대로 담긴 변수 my_list를 만들어봅시다.
  3. 리스트 my_list에서 인덱싱을 이용해 변수 var1에 "Chamwae"를 넣어봅시다.
  4. 문자열 my_str에서 슬라이싱을 이용해 변수 var2에 "possible"을 넣어봅시다.

code

my_str = "Impossible"
my_list = ["Apple", "Banana", "Chamwae", "Durian"]
var1 = my_list[2]
var2 = my_str[2:]
print(var1)
print(var2)

실행 결과

Chamwae
possible

2. 시퀀스의 길이와 멤버 조사하기

  1. 문자열 "Impossible"이 담긴 변수 my_str을 만들어봅시다.
  2. 리스트 ["Apple", "Banana", "Chamwae", "Durian"]이 담긴 변수 my_list를 만들어봅시다.
  3. len을 이용해서 변수 var1에 my_str의 길이를 넣어봅시다.
  4. in을 이용해서 "Egg"가 my_list에 들어있는지 확인하고, 이 결과(True or False)를 변수 var2에 넣어봅시다.

code

my_str = "Impossible"
my_list = ["Apple", "Banana", "Chamwae", "Durian"]
var1 = len(my_str)
var2 = "Egg" in my_list 
print(var1)
print(var2)

실행 결과

10
False

profile
개발자로 시작| 공부한 것을 기록합니다.

0개의 댓글