컴퓨터 관련/파이썬
[파이썬] 3. 시퀸스 자료형
0wner
2024. 1. 6. 15:57
728x90
반응형
1. 시퀸스 자료형이란?
- 같은 자료형의 값이 여러개 저장되는 자료형
- 다른 비슷한 속성을 가지나, 쓰임과 종류에 따라 "리스트","튜플","range","문자열"로 나뉨
1.1. 시퀸스 자료형의 특징
- 특정 값의 유무 확인하기
a = [1,3,4] print(10 in a) #리스트에 해당 값이 있는지 확인하기 print(10 not in a) # 리스트에 해당 값이 없는지 확인하기
2. 리스트
2.1. 리스트란?
- 리스트의 구조는 연결리스트의 구조이다.
- 리스트는 배열과 달리 길이의 제한이 없다.
- 리스트는 원소의 편집이 자유롭다.
- 리스트는 서로 다른 타입도 대입이 가능하다.
- 또한, 리스트를 이용해 반복문을 실행할 수 있음
a = [1,2,3,4,5,6]
result = 0
for num in a:
result += num
print(result)
2.3. 리스트 정의하기
Variable = [value, value, ...]
# Variable: 리스트 객체를 저장할 변수를 의미함
# value: 리스트에 저장할 값을 의미함. 숫자나 리스트등이 올 수 있다.
2.2. 리스트의 종류
a = [] #빈 리스트
b = [1,3,4] # 정수 리스트
c = ['hello','world'] # 문자열 리스트
d = [1,2,[3,'Python']] # 중첩 리스트
2.3. 리스트 연산하기
- 리스트 연결하기
a = [1,2,3]
b = [1,2,3]
a + b
- 리스트 N번 출력하기
a = [1,3,4]
a * 2
- 리스트 길이 구하기
a = [1,3,4]
len(a)
2.4. 리스트 수정과 삭제
- 리스트 수정하기
a = [1,3,4]
a[1] = 2
- 리스트 삭제하기
a = [1,3,4]
del a[1]
2.5. 리스트 관련 함수
- list.append(value)
# 리스트의 맨 뒤에 원소를 추가하는 함수
a = [1,2,5,3,4]
a.append(1)
- list.insert(index, value)
# 지정한 인덱스 앞에 원소를 추가하는 함수
a = [1,2,5,3,4]
a.insert(1,3)
- list.remove(x)
# 리스트의 특정한 원소를 찾아서 삭제하는 함수
a = [1,2,5,3,4]
a.remove(1)
- list.pop([index])
# 리스트의 특정한 원소를 찾아서 꺼내면서 삭제하는 함수
a = [1,2,5,3,4]
num = a.pop(1)
- list.clear()
# 리스트의 모든 원소를 없애는 함수
a = [1,2,5,3,4]
a.remove()
- list.count(value)
# Value가 얼마나 있는지 확인하는 함수
a = [1,2,5,3,4]
a.count(2)
- list.sort(*, key=None, reverse=False)
# 리스트의 원소를 정렬
a = [1,2,5,3,4]
a.sort()
# 리스트의 원소를 역순으로 정렬
a = [1,2,5,3,4]
a.sort(reverse = True)
# 리스트의 원소를 key를 기준으로 정렬
a = [1,2,5,3,4]
a.sort(key = 1)
- list.reverse()
# 리스트의 원소 순서를 반대로 만듦 (정렬X)
a = [1,2,5,3,4]
a.reverse()
- list.copy()
# 리스트 얕은 복사를 수행하여, 반환하는 함수
a = [1,2,5,3,4]
b = a.copy()
2.6. 리스트 컴프리헨션
- 기본형
# 이 코드와 아래 있는 코드는 동일함.
Variable = []
for Var in seq:
Variable.append(Variable2)
Variable = [Variable2 for Var in seq]
# Variable: 리스트를 저장하기 위한 변수
# Variable2: for문을 통해 계산된 값. 리스트의 원소가 되는 값
# for Var in seq: for문의 원리와 같음.
- 변수가 1개, 단일 반복문인 예시
a = [x for i in range(1,10)]
- 변수가 2개, 단일 반복문인 예시
a = [(x,x2+1) 0for i in range(1,10)]
- 중첩 반복문인 예시
# 구구단을 리스트에 저장하는 예시
a = [x*y for x in range(2,10) for y in range(1,10)]
3. 튜플
3.1. 튜플이란?
- 리스트와 달리, 튜플은 값의 삭제와 수정이 불가능함.
- 한번 저장하고 나면, 값이 바뀌면 안되는 것들을 저장하는데 사용한다.
3.2. 튜플 정의하기
- 기본형
Variable = (value, value, ...)
# Variable: 튜플 객체를 저장할 변수를 의미함
# value: 튜플에 저장할 값을 의미함. 숫자나 리스트등이 올 수 있다.
- 원소가 1개인 튜플 정의하기
a = (1,)
3.3. 튜플 연산하기
- 튜플 연결하기
a = (1,2,3)
b = (1,2,3)
a + b
- 튜플 N번 출력하기
a = [1,3,4]
a * 2
- 튜플 길이 구하기
a = [1,3,4]
len(a)
3.4. 튜플 수정과 삭제
- 튜플은 수정과 삭제가 불가능하다.
3.5. 튜플의 언패킹
# 필요 없는 값은 무시하기
a,b,_ = (1,3,4)
print(a,b)
# 여러 튜플 값을 갖는 리스트 변수 만들기
c,*d = (1,2,3,4,5,6,7,8,9,10)
print(c,d)
4. range()
4.1. range()란?
- 시작점과 끝점, 스텝을 지정하면, 규칙에 맞는 숫자를 보여주는 객체.
- 주로 for문에서 많이 사용된다.
4.2. range() 정의하기
Variable = range(start,stop,step)
# Variable: range()객체를 저장할 변수를 의미함.
# start: range count를 시작할 숫자 지정
# end: range count를 끝낼 숫자 지정 (실제로는 이 숫자 전에 끝남)
# step: Count 할 때, 얼마나 건너 띌지에 대한 숫자지정
4.3. range() 연산하기
- range() 연결하기
# 리스트나 튜플로 변환하여 연결해야 한다.
list(range(0,12)) + list(range(12,30))
tuple(range(0,12)) + tuple(range(12,30))
- range() N번 출력하기
# 리스트나 튜플로 변환하여 출력할 수 있다.
a = list(range(1,2,1))
a*2
- range() 길이 구하기
a = range(1,3,1)
len(a)
4.4. range() 수정과 삭제
- range()는 수정과 삭제가 불가능하다.
- range()를 정의하면서 이미 Sequencial한 객체를 만들었기 때문이다.
5. 문자열
5.1. 문자열이란?
- 파이썬의 문자열은 시퀸스 자료형으로써, 인덱싱이나 슬라이싱이 가능하다.
5.2. 문자열 정의하기
Variable = "String" or 'String'
# Variable: 문자열 객체를 저장할 변수를 의미함.
# String: 저장할 문자열
5.3. 문자열 연산하기
- 문자열 연결하기
a = "HelloWorld!"
b = "Bye!"
a + b
- 문자열 N번 출력하기
a = "HelloWorld!"
a*2
5.4. 문자열 수정과 삭제
- 문자열은 어느 한 글자만 바꾸는 것이 불가능하다.
- 문자열은 어느 한 글자만 삭제하는 것이 불가능하다.
5.5. 문자열 함수
- len(str)
# 문자열 길이 구하기
a = "HelloWorld!"
len(a)
- str.upper()
# 문자열을 대문자로 변환
a = "HelloWorld!"
a.upper()
- str.lower()
# 문자열을 소문자로 변환
a = "HelloWorld!"
a.lower()
- str.strip()
# 문자열의 좌우 공백을 없앰
a = " HelloWorld! "
a.strip()
- str.split(str1)
# 문자열을 str1을 기준으로 나눈뒤에, 리스트로 반환
a = "Hello World!"
a.split()
b = '12339858123398240'
b.split('123')
반응형