Python - 자료구조

이호현·2020년 7월 2일
0

Python

목록 보기
4/10

1. List

-배열과 비슷한 구조

List

humans = ['철수', '영희']
print(humans)					# ['철수', '영희']

# 리스트에 여러 자료형 추가 가능
mix = [10, '햄토리', True]
print(mix)					# [10, '햄토리', True]

# 리스트 합치기
humans.extend(mix)
print(humans)					# ['철수', '영희', 10, '햄토리', True]

List 메서드

humans = ['철수', '영희', '수지']

# 특정 요소 index 찾기
print(humans.index('영희'))			# 1

# 리스트 맨 뒤에 요소 추가
humans.append('햄토리')
print(humans)					# ['철수', '영희', '수지', '햄토리']

# 넣고 싶은 index에 요소 추가
humans.insert(1, '상민')
print(humans)					# ['철수', '상민', '영희', '수지', '햄토리']

# 리스트 마지막 요소 제거
humans.pop()
print(humans)					# ['철수', '상민', '영희', '수지']

# 리스트에 같은 요소 개수
humans.append('상민')
print(humans)					# ['철수', '상민', '영희', '수지', '상민']
print(humans.count('상민'))			# 2

# 리스트 정렬
humans.sort()
print(humans)					# ['상민', '상민', '수지', '영희', '철수']

# 리스트 역정렬
humans.reverse()
print(humans)					# ['철수', '영희', '수지', '상민', '상민']

# 리스트 비우기
humans.clear()
print(humans)					# []

2. Dictionary

-key와 value로 이루어진 객체와 비슷한 구조

Dictionary

student = {1: '철수', 2: '영희'}			# key는 문자열도 사용가능
print(student)					# {1: '철수', 2: '영희'}

# 요소를 찾을 때
print(student[1])				# 철수
print(student.get(2))				# 영희

# 없는 요소를 찾을 때
print(student[10])				# **오류**
print(student.get(10))				# None
print(student.get(10, '아무도 없음'))		# 아무도 없음
						# key 값을 못 찾으면 특정 값 출력할 수 있음

# Dictionary에서 특정 키값이 존재하는지 확인할 때
print(2 in student)				# True
print(10 in student)				# False

# Dictionary에 요소 추가
student['3'] = '수지'
print(student)					# {1: '철수', 2: '영희', '3': '수지'}

# Dictionary에서 요소 제거
del student[2]
print(student)					# {1: '철수', '3': '수지'}

# Dictionary에서 key, value 출력
print(student.keys())				# dict_keys([1, '3'])
print(student.values())				# dict_values(['철수', '수지'])
print(student.items())				# dict_items([(1, '철수'), ('3', '수지')])

# Dictionary 비우기
student.clear()
print(student)					# {}

3. Tuple

-변경 할 수 없는 리스트

Tuple

student = ('철수', '영희')
print(student[0])				# 철수
print(student[1])				# 영희

# 각 변수에 분배가능
(name, age, hobby) = ('햄토리', 2, '게임')
print(name, age, hobby)				# 햄토리 2 게임

4. Set

-중복 안되고 순서가 없는 리스트

Set

set1 = {1, 2, 3, 3, 3}
print(set1)					# {1, 2, 3}

student1 = {'철수', '영희'}
student2 = {'철수', '수지'}

# 교집합
print(student1 & student2)			# {'철수'}
print(student1.intersection(student2))		# {'철수'}

# 합집합
print(student1 | student2)			# {'철수', '수지', '영희'}
print(student1.union(student2))			# {'철수', '수지', '영희'}

# 차집합
print(student1 - student2)			# {'영희'}
print(student1.difference(student2))		# {'영희'}

# Set에 요소 추가
student1.add('민수')
print(student1)					# {'민수', '영희', '철수'}

# Set에서 요소 제거
student1.remove('철수')
print(student1)					# {'민수', '영희'}

5. 자료구조 변경

-List, Tuple, Set 서로 type 변경

자료구조 변경

student = {'철수', '영희'}
print(student, type(student))			# {'영희', '철수'} <class 'set'>

# List로 변경
student = list(student)
print(student, type(student))			# ['영희', '철수'] <class 'list'>

# tuple로 변경
student = tuple(student)
print(student, type(student))			# ('영희', '철수') <class 'tuple'>

# set로 변경
student = set(student)
print(student, type(student))			# {'영희', '철수'} <class 'set'>
profile
평생 개발자로 살고싶습니다

0개의 댓글