Blair  - Soul Eater 3. 데이터 분석을 위한 핵심 Tool Python(김상모 강사님)_03

• 패스트캠퍼스 데이터분석 부트캠프 12기

3. 데이터 분석을 위한 핵심 Tool Python(김상모 강사님)_03

oujin 2024. 1. 5. 15:24
728x90

시퀀스 자료형 공통 기능 사용하기

요소 < 시퀀스 자료형 < 시퀀스 객체

 

1. 특정 값이 있는지 확인

값 in 시퀀스객체

시퀀스 객체 = list, tuple, range, 문자열

* 리스트, 튜플, 범위, 문자열에 해당 값이 있는지 없는지 확인하기

a = [0,10,20,30,40,50,60,70,80,90]

print(30 in a)

print(30 not in (6.,5.,26,21))

print(1 not in range(10))

print('P' not in "Hello, Python")

실행결과  

True
True
False
False

 

* 0~20 사이의 홀수 값을 요소로 가지는 리스트를 만들고 값을 입력받아 그 값이 리스트에 없는지 확인하기

L = list(range(1,20,2))
a = int(input("값 입력 : "))
print(a not in L)

실행결과  

값 입력 : 5
False

 

 

2. 시퀀스 객체 연결하기 :

 

* +연산자 사용

a = [1,2]
b = [3,4]
c=a+b
print(a+b)
print(a)
print(b)
print(c)

실행결과  

[1, 2, 3, 4]
[1, 2]
[3, 4]
[1, 2, 3, 4]

 

* 두개의 리스트에서 특정 단어 있는지 확인

L1 = ['사과', '배', '귤', '오렌지']
L2 = ['토마토','바나나','수박','딸기']

#1
fruits = L1 + L2
print('사과' in fruits)

#2
print(('사과' in L1) or ('사과' in L2))

실행결과  

True
True

 

* 시퀀스 자료형 중에서 range + 연산자로 객체를 연결 할 수 없음 

range를 리스트 또는 튜플로 만들어서 연결하면 가능

# range(0,10) + range(10,20) # 오류남

print(list(range(10,20)) + list(range(10,20)))

실행결과  

[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

* 시퀀스 자료형 중 range는  * 로 반복도 안됨

# 시퀀스 객체 반복하기
print([10,20,30,40] *3)
print(['HEllo']*3)
print(list(range(10,20))*3)

 

 

3. 시퀀스 객체의 요소 개수 구하기 : len() 함수 사용

a = [0,10,20,30,40,50,60,70,80,90]
print(len(a))

L1 = ['사과', '배', '귤', '오렌지']
L2 = ['토마토','바나나','수박','딸기']
print(len(L1+L2))

print(len(range(0,10,2)))

print(len("HELLO Python"))

실행결과  

10
8
5
12

 

4. 시퀀스 객체 인덱싱하기

a = [38,21,53,83,18]
print(a[0])
print(a[2])
print(a[4])

r = range(1,11,2)
print(r[2])

print(L[-1]) #음수 인덱싱 가능

실행결과  

38
53
18
5
19

 

+ 마지막 요소에 접근하기 : len()-1

 

5. 리스트 값 수정하기 (튜플은 안됨)

추가

a = [0,0,0]
print(a)
a[0]=10
print(a)

실행결과  

[0, 0, 0]
[10, 0, 0]

 

삭제

a = [10,20,30,40]
del a[2]
print(a)

실행결과  

[10, 20, 40]

 

슬라이스

a = [10,20,30,40,50,60,70,80,90]
print(a[1:3])

print(a[:]) # 전체를 가져오기

실행결과  

[20, 30]
[10, 20, 30, 40, 50, 60, 70, 80, 90]

 

슬라이스에 요소 할당하기

a = [0,10,20,30,40,50,60,70,80,90]
a[2:8:2] = ['a','b','c']
print(a)

실행결과  

[0, 10, 'a', 30, 'b', 50, 'c', 70, 80, 90]

 

+ 튜플, range, 문자열은 슬라이스 범위를 지정하더라도 요소를 할당 할 수 없음

 

슬라이스로 요소 제거

a = [0,10,20,30,40,50,60,70,80,90]
del a[2:5]
print(a)

실행결과  

[0, 10, 50, 60, 70, 80, 90]

 

인덱스가 홀수인 요소 출력

n = -32,75,97,-10,9,32,4,-15,0,76,14,2
print(n[1::2])

실행결과  

(75, -10, 32, -15, 76, 2)

 

 

x = input().split() -> 자로형이 list

 

 

 

728x90