728x90
시퀀스 자료형
- 종류 : 문자열, 리스트, 튜플 등
- 특징 : 1) 여러 객체를 저장
2) 순서 있음
3) 인덱스를 사용해 참조 가능
[시퀀스형의 공통 연산]
- 색인 : s[k]
- 슬라이싱 : s[start : end : step]
- 연결 : s1 + s2
- 반복 : s * number_of_repeat
- 멤버쉽 테스트 : member in sequence
- 길이 정보 len(sequence)
[리스트]
- mutable : 요소의 치환이 가능
- 리스트는 가장 보편적인 시퀀스형
- 리스트에 요소를 추가하는 메소드 : append(), extend(), insert()
- 리스트에서 요소를 삭제하는 메소드 : remove(), pop()
lst = [4,3,2.0,0,'text']
>>> [4, 3, 2.0, 0, 'text']
lst[3] =1
print(lst)
>>> [4, 3, 2.0, 1, 'text']
print(len(lst))
>>> 5
[리스트 내포]
- 다른 리스트로부터 새로운 리스트 생성
lst = [1,2,3]
lst2 = [x**2 for x in lst]
print(lst2)
>>> [1, 4, 9]
- 조건 추가
lst3 = [(x, x**2) for x in lst2 if x<5]
print(lst3)
>>> [(1, 1), (4, 16)]
- 다중의 for 또는 if절 사용 가능 ( 아래 두개의 코드블럭 동일한 코드)
lst4 = []
for x in lst2:
for y in lst3:
lst4.append(x*y[0])
print(lst4)
>>> [1, 4, 4, 16, 9, 36]
lst4 = [x*y[0] for x in lst2 for y in lst3]
print(lst4)
>>> [1, 4, 4, 16, 9, 36]
[튜플]
- 튜플은 요소의 치환이 불가능한(immutable) 리스트
- 함수의 입출력 변수와 같이 변경되지 않도록 보호하는 용도로 사용
t = (1,2,'sam')
print(t[0])
>>> 1
t[2] = 0
>>>
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Input In [12], in <cell line: 1>()
----> 1 t[2] = 0
TypeError: 'tuple' object does not support item assignment
t2 = (1)
t3 = (1,)
print(t2, type(t2))
>>> 1 <class 'int'>
print(t3, type(t3))
>>> (1,) <class 'tuple'>
[문자열]
- 문자열은 요소로 문자만을 가질 수 있으며 치환이 불가능함(immutable)
- immutable하기 때문에 문자열 연산의 결과를 다른 변수에 치환해야 함에 주의
- 문자열 연산자 : split, find, replace
st = 'This.is.a,string'
st.split('.')
>>> ['This', 'is', 'a,string']
st
>>> 'This.is.a,string'
st.find('string')
>>> 10
st.replace('string', 'sentence')
>>> 'This.is.a,sentence'
st
>>> 'This.is.a,string'
728x90
'Study > Python' 카테고리의 다른 글
[Python] DataFrame에서 null이 들어있는 행만 보고 삭제하기 (0) | 2023.02.07 |
---|---|
주피터 노트북 한글 깨짐 해결방법 (0) | 2022.11.21 |
[Python] 데이터 프레임 행 추가 쉽게 하기 (0) | 2022.05.12 |
[Python] 이중 리스트 하나로 합치기 (0) | 2022.03.21 |
[Python]Sckit-Learn에 있는 데이터를 csv로 만들기 (0) | 2022.03.17 |