Python | 리스트, 딕셔너리, 튜플

🛟 Dive.·2024년 2월 24일
0

Python

목록 보기
10/22

리스트 항목 접근

letter = ['A', 'B', 'C', 'D', 'E', 'F']

print(letter[0])
print(letters[1])
print(letters[2])

슬라이싱

  • 슬라이싱(slicing)은 리스트에서 한 번에 여러 개의 항목을 추출하는 기법
letters = ['A', 'B', 'C', 'D', 'E', 'F']
print(letters[0:3])

인덱스 생략

print(letters[:3])
print(letters[3:])
print(letter[:])

리스트 항목 변경

heroes = ['아이언맨', '토르', '헐크', '스칼렛 위치']
heroes =[1] = '닥터 스트레인지'
print((heroes)

함수를 이용하여 추가

heroes.append('스파이더맨')
print(heroes)

heroes.insert(1, '배트맨')
print(heroes)

항목 삭제

heroes = ['아이언맨', '토르', '헐크', '스칼렛위치']
heroes.remove('스칼렛 위치')
print(heroes)

항목이 리스트 안에 있는지 체크.

if '슈퍼맨' in heroes:
	heroes.remove('슈퍼맨')

del 키워드

  • del는 인덱스를 사용하여 항목을 삭제
heroes = ['아이언맨' ,'토르', '헐크', '스칼렛 위치']
del heroes[0]
print(heroes)

pop() 함수

  • pop()은 리스트에서 마지막 항목을 삭제
heroes = ['아이언맨', '토르', '헐크', '스칼렛 위치']
last_hero = heros.pop()
print(last_hero)

리스트 탐색

  • index() 사용
heroes = ['아이언맨', '토르', '헐크', '스칼렛 위치']
print(heroes.index('헐크'))

리스트 방문

heroes = ['아이언맨', '토르', '헐크', '스칼렛 위치']
for hero in heroes:
	print(hero)

리스트 정렬

heroes = ['아이언맨', '토르', '헐크', '스칼렛 위치']
heroes.sort()
print(heroes)

리스트 - 메소드

  • append() 함수 : 리스트의 끝에 새 요소를 추가함.
  • extned() 함수 : 기존 리스트에 다른 리스트를 이어 붙임. + 연산자와 같은 기능을 함.
  • insert() 함수 : 첨자로 명시한 리스트 내의 위치에 새 요소를 삽입. insert(첨자, 데이터)의 형식으로 사용.
a = [2,4,5]
a.insert(0, 1) # 0 위치(첫 번째)에 데이터 1을 삽입.
a
a.insert(2, 3) # 2 위치(세 번째)에 데이터 3을 삽입.
a
  • remove() 함수 : 매개 변수로 입력한 데이터를 리스트에서 찾아 발견한 첫 번쨰 요소를 제거.
a = ['BMW', 'BENZ', 'VOLKSWAGEN', 'AUDI']
a.remove('BMW')
a
  • pop() 함수 : 리스트의 마지막 요소를 뽑아내어 리스트에서 제거.
a = [1,2,3,4,5]
a.pop()
a
a.pop()
a

마지막이 아닌 특정 요소를 제거하고 싶을 때에는 pop() 메소드에 제거하고자 하는 요소의 인덱스를 입력하면 됨.

a = [1,2,3,4,5]
a.pop(2)
a
  • index() 함수 : 리스트 내에서 매개변수로 입력한 데이터와 일치하는 첫번쨰 요소의 첨자를 알려줌. 찾고자 하는 데이터와 일치하는 요소가 없으면 오류를 일으킴.
  • count() 함수 : 매개변수로 입력한 데이터와 일치하는 요소가 몇 개 존재하는 지 세줌.
a = [1, 100, 2, 100, 3, 100]
a.count(100)
a.count(200)
  • sort() 함수 : 리스트 내의 요소를 정렬. 매개변수로 reverse = True를 입력하면 내림차순, 아무 것도 입력하지 않으면 오름차순으로 정렬. reverse = True와 같이 이름을 명시하여 사용하는 매개변수를 키워드 매개변수라고 함.
a = [3,4,5,1,2]
a.sort()
a
a.sort(reverse = True)
a
  • reverse() 함수 : 리스트 내 요소의 순서를 반대로 만들어 줌.
a = [3,4,5,1,2]
a.reverse()
a
b = ['안, '녕', '하', '세', '요']
b.reverse()
b

딕셔너리

  • 딕셔너리도 리스트와 같이 값을 저장하는 방법. 하지만 딕셔너리에는 값과 관련한 키가 있음.
phone_book = {}
phone_book['홍길동'] = '010-1234-5678'

print(phone_book)

phone_book = {'홍길동' : '010-1234-5678'}
phone_book['강감찬'] = '010-1234-5679'
phone_book['이순신'] = '010-1234-5680'

print(phone_book)

딕셔너리에서 탐색

  • 키를 가지고 값을 찾음.
print(phone_book['강감찬'])

딕셔너리의 모든 키 출력

phone_book.keys()
dict_keys(['이순신', '홍길동', '강감찬'])
phone_book.values()

딕셔너리 항목 탐색

for key in sorted(phone_book.keys()):
	print(key, phone_book[key])

튜플(tuple)

  • 튜플은 리스트와 유사한 자료 형
  • 인덱스 0으로 시작
x = ('Glenn', 'sally', 'Joseph')
print(x[2])
y = (1, 9, 2)
print(y)
print(max(y))

for iter in y:
	print(iter)
  • 값의 변경이 불가능한 리스트
  • 선언시 '[]' 가 아닌 '()'를 사용
  • 리스트의 연산, 인덱스, 슬라이싱 등을 동일하게 사용.
t = (1,2,3)
print(t + t, t * 2)
len(t)
t[1] = 5

튜플 데이터 하나 입력할 때

t = (1) # 일반정수로 인식.
t = (1,) # 값이 하나인 Tuple은 반드시 ','를 붙여야 함.

> 리스트와는 다르게 튜플은 한번 만들어 지면 변경할 수 없음.

튜플로 다룰 수 없는 것

x = (3,2,1)
x.sort()
x.append(5)
x.reverse()

튜플 | 패킹과 언패킹

  • 튜플 패킹(Tuple Packing)
a = 1,2,3 # 패킹 : 여러 데이터를 튜플로 묶는 것.
a
  • 튜플 언패킹(Tuple unpacking)
one, two, three = a # 언패킹 : 튜플의 각 요소를 여러개의 변수에 할당하는 것.
one
two
three

정리.

  • 복합자료형 : 자료의 묶음 저장.
  • 리스트 : 여러 개의 데이터를 하나로 묶어서 저장한 자료형.
  • 딕셔너리 : 값과 관련된 키의 쌍으로 구성된 자료형.
  • 튜플 : 값의 변경이 불가능한 리스트.
profile
Data Science. DevOps.

0개의 댓글