1. 리스트, 튜플, range, 문자열의 공통점
연속적(sequence)
2. 시퀀스 자료형
값이 연속적으로 이어진 자료형
3. 시퀀스 자료형 특징
공통 동작과 기능을 제공
4. 시퀀스 객체
스퀀스 자료형으로 만든 객체
5. 요소(element)
시퀀스 객체에 들어있는 각 값
6. 특정 값이 있는지 확인하기
in연산자: 있으면 True, 없으면 False
>>> a=[10,20,30,40,50,60,70,80,90]
>>> 50 in a
True
>>> 43 in (13,55,7,43,8)
True
>>> 5 in range(1,10)
True
>>> 'p' in 'python'
True
7. 시퀀스 객체 연결하기
'+'를 이용해 연결 가능
>>> a=[34,12,67,55,7]
>>> b=[23,65,1,12,34]
>>> a+b
[34, 12, 67, 55, 7, 23, 65, 1, 12, 34]
문자열도 연결 가능
>>> 'hi '+'hello'
'hi hello'
단, range는 객체 연결 불가능
>>> range(1,10)+range(5,10)
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
range(1,10)+range(5,10)
TypeError: unsupported operand type(s) for +: 'range' and 'range'
-해결책: 리스트 또는 튜플로 만들어서 연결 가능
>>> list(range(1,10))+list(range(5,10))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 5, 6, 7, 8, 9]
8. 시퀀스 객체 반복하기
'*'연산자: 특정 횟수만 큰 반복 하여 새 시퀀스 객체를 만듦(0 또는 음수를 곱하면 빈 객체가 나오고 실수는 곱할 수 없음)
>>> [12,20,40,13]*3
[12, 20, 40, 13, 12, 20, 40, 13, 12, 20, 40, 13]
문자열도 반복가능
>>> 'you '*3
'you you you '
단, range는 *사용 불가능
-해결책: 리스트 또는 튜플로 만들어서 반복가능
>>> list(range(3,5))*3
[3, 4, 3, 4, 3, 4]
9. 시퀀스 객체의 요소 개수 구하기
len(객체 이름)
>>> a=[12,45,2,5]
>>> len(a)
4 #a리스트의 요소 개수가 4개
>>> b=(12,23,45,1,2)
>>> len(b)
5 #b튜플의 요소개수가 5개
>>> c=range(1,10,2)
>>> len(c)
5 #c의 요소개수가 5개(0,2,4,6,8)
문자열도 길이 구하기 가능(공백도 개수 포함/단, 문자열 따옴표는 제외)
>>> h='너 나 나 나'
>>> len(h)
7 #공백까지 개수 구함
UTF-8에서 한글 글자 하나는 3바이트로 표현하므로 '너 나 나 나'가 차지하는 실제 바이트 수는 21바이트이다.
참고로 파이썬 3에서 len은 문자의 개수를 구해주지만 파이썬 2.7에서는 실제 바이트 수를 구해주는 차이점이 있다.
즉, 한글 문자열의 길이를 구할 때 파이썬 버전에 따라 결과가 달라지므로 주의 필요.
'IT지식 > Python' 카테고리의 다른 글
파이썬 슬라이스(slice) (0) | 2021.10.10 |
---|---|
파이썬 인덱스(index) (0) | 2021.10.09 |
파이썬 튜플(tuple) (0) | 2021.10.08 |
파이썬 리스트(list) (0) | 2021.10.08 |
파이썬 문자열 사용하기 (0) | 2021.10.08 |