본문 바로가기
IT지식/Python

파이썬 시퀀스 자료형

by 모두의 향연 2021. 10. 9.
728x90
반응형

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에서는 실제 바이트 수를 구해주는 차이점이 있다.

즉, 한글 문자열의 길이를 구할 때 파이썬 버전에 따라 결과가 달라지므로 주의 필요.

728x90
반응형

'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