-
[코딩도장] day5. 파이썬 시퀀스 자료형(1) - in, +, * 연산자IT/파이썬 2020. 8. 7. 23:59
■ 들어가기
- 파이썬 코딩 도장 (남재윤/길벗). 을 공부하며 정리하는 블로그
▶ Unit11. 시퀀스 자료형 활용하기
1. 개요
- 리스트 : [0, 10, 20, 30, 40, 50]
- 튜플 : (38, 76, 53, 62, 19)
- range : range(5) == 0 ~ 4
- 문자열(str) : 'Hello'
=> 파이썬에서 위와 같이 값이 연속적으로 이어진 자료형을 "시퀀스 자료형(sequence types)" 이라 부름
2. 시퀀스 자료형의 공통 기능
- 시퀀스 자료형으로 만든 객체를 "시퀀스 객체"라 부름
- 시퀀스 객체에 들어있는 각 값을 "요소(element)"라 부름
- 시퀀스 자료형의 특징 : "공통 동작", "공통 기능"
2.1 특정 값이 있는지 확인
- 사용법1: 값 in 시퀀스객체
- 특정 값이 있으면 True, 없으면 False 를 리턴
>>> a = list(range(0,91,10))
>>> a
[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
>>> 30 in a
True
>>> 100 in a
False- 사용법2: 값 not in 시퀀스객체
- 특정 값이 없으면 True, 있으면 False 를 리턴
>>> 100 not in a
True
>>> 30 not in a
False
>>>
>>> 43 in (38,76,43,62,19) # 튜플
True
>>> 1 in range(10) # range
True
>>> 'P' in 'Hello, Python' # 문자열
True
2.2 시퀀스 객체 연결하기- 시퀀스 객체는 + 연산자를 사용하여 객체를 서로 연결하여 새 객체를 만들 수 있음
- 사용법: 시퀀스객체1 + 시퀀스객체2
>>> a = list(range(0,31,10))
>>> b = list(range(9,5,-1))
>>> print(a); print(b)
[0, 10, 20, 30]
[9, 8, 7, 6]
>>> a + b
[0, 10, 20, 30, 9, 8, 7, 6]- 단, range는 + 연산자로 객체 연결 불가. 리스트 또는 튜플로 만들어 연결!
>>> range(0,10) + range(10,20)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'range' and 'range'
>>> list(range(0,10)) + list(range(10,20))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>> tuple(range(0,10)) + tuple(range(10,20))
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)- 문자열은 + 연산자로 여러 문자열 연결 가능
- 단, 문자열과 숫자타입(int, float, ..) 은 + 연산자로 연결 불가. 이때 숫자를 str()를 사용해서 '문자열'로 변환 후 연결 가능함.
>>> 'Hello' + 'World!'
'HelloWorld!'
>>> 'Hello, ' + "World!"
'Hello, World!'
>>> 'Hello, ' + 10
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str
>>> 'Hello, ' + str(10)
'Hello, 10'2.3 시퀀스 객체 반복
- 사용법1: 시퀀스객체 * 정수
- 사용법2: 정수 * 시퀀스객체
- * 연산자는 시퀀스 객체를 특정 횟수만큼 반복하여 새 시퀀스 객체를 생성
>>> [0,10,20,30] * 3
[0, 10, 20, 30, 0, 10, 20, 30, 0, 10, 20, 30]
>>> list(range(0,31,10)) * 3
[0, 10, 20, 30, 0, 10, 20, 30, 0, 10, 20, 30]- 단, range는 + 연산자와 마찬가지로 * 연산자도 사용 불가. 리스트 또는 튜플로 만들어서 반복 처리
>>> list(range(0,5,2)) * 3
[0, 2, 4, 0, 2, 4, 0, 2, 4]
>>> tuple(range(0,5,2)) * 3
(0, 2, 4, 0, 2, 4, 0, 2, 4)- 문자열은 * 연산자로 반복 처리 가능
>>> 'Hello, ' * 3
'Hello, Hello, Hello, ''IT > 파이썬' 카테고리의 다른 글
[코딩도장] day6. 시퀀스 자료형(3) - 슬라이스 (0) 2020.08.09 [코딩도장] day5. 시퀀스 자료형(2) - len(), 인덱스, del (0) 2020.08.08 [코딩도장] day4. 리스트 (0) 2020.08.02 [코딩도장] day3. 파이썬 출력, 비교/논리 연산자, 문자열 (0) 2020.08.02 [코딩도장] day2. 변수 (0) 2020.08.01