제로베이스 데이터 취업 스쿨 과정 학습 내용을 정리한 포스팅입니다.

 

📍 리스트(list)

배열과 같이 여러 개의 데이터를 나열한 자료구조

 

students = ['홍길동', '박찬호', '이용규', '박승철', '김지은']
numbers = [10, 20, 30, 40, 50]

data = [10, 20, 30, [40, 50, 60]] # 리스트 안의 리스트도 가능

- 문자, 숫자 뿐만 아니라 data와 같이 리스트 안의 리스트도 가능하다.

 

 

 

students[0] # 홍길동
students[1] # 박찬호

- 리스트 아이템 조회하는 방법 students[i]

 

 

len(students) # 5

- len() 함수로 길이(length)를 반환 가능

 

 

students = ['홍길동', '박찬호', '이용규', '박승철', '김지은']

for idx, value in enumerate(students):
    print(f'{idx} : {value}')
    
# 0 : 홍길동
# 1 : 박찬호
# 2 : 이용규
# 3 : 박승철
# 4 : 김지은

- enumerate() 함수는 아이템의 인덱스와 값을 동시에 반환한다.

 

 

students = ['홍길동', '박찬호', '이용규', '박승철', '김지은']

students.append('김희철')

print(students)

# ['홍길동', '박찬호', '이용규', '박승철', '김지은', '김희철']

- list.append( 값 ) 으로 리스트의 맨 마지막에 값을 추가할 수 있다.

 

 

students = ['홍길동', '박찬호', '이용규', '박승철', '김지은']

students.insert(3, '김연아')

print(students)

# ['홍길동', '박찬호', '이용규', '김연아', '박승철', '김지은']

- list.insert(index, 값) 으로 index 위치에 값을 삽입할 수 있다. append의 경우는 맨 오른쪽에만 삽입

 

 

students = ['홍길동', '박찬호', '이용규', '박승철', '김지은']

students.pop()

print(students)

# ['홍길동', '박찬호', '이용규', '박승철']

students = ['홍길동', '박찬호', '이용규', '박승철', '김지은']

students.pop(3)

print(students)

# ['홍길동', '박찬호', '이용규', '김지은']

- list.pop() 으로 맨 마지막 값 삭제 가능

- list.pop(index) 으로 index 위치의 값 삭제 가능

 

 

 

students = ['홍길동', '박찬호', '이용규', '박승철', '김지은']

students.remove('홍길동')

print(students)

# ['박찬호', '이용규', '박승철', '김지은']

- list.remove(값) 로 해당 값 삭제 가능

 

 

 

students_1 = ['홍길동', '박찬호', '이용규', '박승철', '김지은']
students_2 = ['문성곤', '오세근']

students_1.extend(students_2)

print(students)

# ['홍길동', '박찬호', '이용규', '박승철', '김지은', '문성곤', '오세근']

result = students_1 + students_2

print(result)

# ['홍길동', '박찬호', '이용규', '박승철', '김지은', '문성곤', '오세근']

- list_1.extend(list_2) 혹은 list_1 + list_2 로 리스트(list)를 연결할 수 있다.

 

 

playerscore = [3, 6, 2, 5, 6, 7]

playerscore.sort()

print(playerscore)

# [2, 3, 5, 6, 6, 7]

playerscore.sore(reverse=True)

print(playerscore)

# [ 7, 6, 6, 5, 3, 2]

- list.sort() 아이템을 오름차순으로 정렬

- list.sort(reverse=True) 아이템을 내림차순으로 정렬

 

 

students_1 = ['홍길동', '박찬호', '이용규', '박승철', '김지은']

students_1.reverse()

print(students_1)

# ['김지은', '박승철', '이용규', '박찬호', '홍길동']

- list.reverse() 아이템을 역순으로 배열

 

 

students_1 = ['홍길동', '박찬호', '이용규', '박승철', '김지은']

students_1[1:4]

print(students)

# ['박찬호', '이용규', '박승철']

- list[start:end] 리스트 아이템 중 start번째 부터 end번째 이전까지 조회

 

 

students_1 = ['홍길동', '박찬호', '이용규', '박승철', '김지은']

students_1.index('박찬호')

# 1

- list.index(값) 값이 있는 인덱스를 반환

 

 

students_1 = ['홍길동', '박찬호', '이용규', '박승철', '김지은', '홍길동']

students_1.count('홍길동')

# 2

- list.count(값) 리스트 안 값의 개수를 세어 반환

 

 

students_1 = ['홍길동', '박찬호', '이용규', '박승철', '김지은']

del students_1[1]

print(students_1)

# ['홍길동', '이용규', '박승철', '김지은']

- del list[index] 리스트 값을 삭제하기

 

 


📍 튜플(tuple)

리스트처럼 배열을 담은 구조. 다만, 아이템 삭제, 수정 등 변경이 불가하다.

따라서 append(), 원소 재선언, pop() 이 불가하다.

extend()는 사용할 수 없고, tuple + tuple으로 연결 가능하다.

이 외의 내용은 리스트와 같이 작업할 수 있다.

 

students_1 = ('홍길동', '박찬호', '이용규', '박승철', '김지은')

 

 

students_1 = ('홍길동', '박찬호', '이용규', '박승철', '김지은')

'이용규' in students_1

# True

'김연아' in students_1

# False

- in, not in 을 통해 배열 안에 원소가 있는지 bool 값으로 반환

 

 

+ Recent posts