나도코딩 강의를 듣고 복습의 의미로 작성하였습니다. 실제 강의 내용이나 예제와 다를 수 있습니다.
자료구조
1. 리스트 []
redvelvet = ["슬기", "아이린", "웬디"]
print(redvelvet)
- 위치 반환 index
print(redvelvet.index("아이린")
- 요소 추가 append
redvelvet.append("조이")
print(redvelvet)
- 요소 삽입 insert
redvelvet.insert(1, "예리")
print(redvelvet)
- 요소 꺼내기 pop
redvelvet = ["슬기", "예리", "아이린", "웬디", "조이"]
print(redvelvet.pop())
print(redvelvet)
print(redvelvet.pop())
print(redvelvet)
- 요소 개수 세기 count
redvelvet.append("슬기")
print(redvelvet)
print(redvelvet.count("슬기"))
- 리스트 정렬 sort
num_list = [5, 2, 4, 1, 3]
num_list.sort()
print(num_list)
- 순서 뒤집기 reverse
num_list.reverse()
print(num_list)
- 요소 모두 지우기 clear
num_list.clear()
print(num_list)
- 다양한 자료형 함께 사용 가능
mix_list = ["슬기", 20, True]
print(mix_list)
- 리스트 확장 extend
num_list = [5, 2, 4, 1, 3]
num_list.extend(mix_list)
print(num_list)
2. 사전
- 딕셔너리 튜플의 기본 형식 : Key 값은 고유한 값이고 중복이 허용되지 않음
{Key1:Value1, Key2:Value2, Key3:Value3 ...}
cabinet = {3:"슬기", 100:"조이"}
print(cabinet[3])
print(cabinet[100])
- Key값으로 Value 얻기 get
print(cabinet.get(3))
print(cabinet[5])
print("hi")
get은 "N존재하지 않는 키를 입력 시 오류가 발생하고 프로그램이 종료된다.
뒤이어 "hi"도 출력 못함.
print(cabinet.get(5))
print(cabinet.get(5, "사용 가능"))
print("hi")
get은 "None"을 출력한다 (거짓이란 뜻)
5에 해당하는 값이 없으면 디폴트 값인 "사용 가능"을 출력한다.
이어 hi도 출력가능해짐
- 딕셔너리 안에 해당 값이 있는지 조사하기 in
print(3 in cabinet)
print(5 in cabinet)
- string
cabinet = {"A-3" : "슬기", "B-100" : "조이"}
print(cabinet["A-3"])
print(cabinet["B-100"])
- 키 삽입
print(cabinet)
cabinet["A-3"] = "웬디"
cabinet["c-20"] = "예리"
print(cabinet)
- 키 삭제 dle
dle cabinet["A-3"]
print(cabinet)
- key만 출력
print(cabinet.keys())
- value만 출력
print(cabinet.values())
- key, value 쌍으로 출력 items
print(cabinet.items())
- key, value 쌍으로 삭제 clear
cabinet.clear()
print(cabinet)
3. 튜플 ()
내용 변경 및 추가 불가하지만 속도가 리스트보다 빠름. 변경되지 않는 목록 생성시 사용함
- 튜플 인덱싱
menu = ("돈까스", "치즈까스")
print(menu[0])
print(menu[1])
- 괄호를 생략해도 무방하다
name, age, hobby = "웬디", 20, "노래"
print(name, age, hobby)
4. 집합 (set)
my_set = {1,2,3,3,3}
print(my_set)
중복 불가, 순서 없음
Java = {"웬디", "슬기", "조이"}
Python = set(["슬기", "예리", "아이린"])
- 교집합 기호 & 혹은 intersection 함수 사용
print(Java & Python)
print(Java.intersection(Python))
- 합집합 기호 | 혹은 union 함수 사용 (중복X)
print(Java | Python)
print(Java.union(Python))
- 차집합 기호 - (빼기) 혹은 difference 함수 사용
print(Java - Python)
print(Java.difference(Python))
- 값 1개 추가 add / 여러개 추가 update
Python.add("웬디")
print(Python)
- 특정 값 제거 remove
Java.remove("웬디")
print(Java)
5. 자료구조의 변경
menu = {"커피", "우유", "주스"}
print(menu, type(menu))
menu = list(menu)
print(menu, type(menu))
menu = tuple(menu)
print(menu, type(menu))
menu = set(menu)
print(menu, type(menu))
Quiz. 20중 1명은 치킨, 3명은 커피 쿠폰을 받는 추천 프로그램을 작성하시오 (조건있음)
from random import *
users = range(1, 21)
users = list(users)
print(users)
suffle(users)
print(users)
winners = sample(users, 4)
print(" -- 당첨자 발표 -- ")
print("치킨 당첨자 : {0}" .format(winners[0]))
print("커피 담당자 : {0}" .format(winners[1:]))
print(" -- 축하합니다 -- ")
'add 깨알 공부' 카테고리의 다른 글
플랜 (3) | 2024.11.07 |
---|---|
Python - 함수 (0) | 2021.07.05 |
Python 기초 - 제어문(if, for, while, continue, break) (0) | 2021.07.05 |
Python 기초 - 절대값 함수, 랜덤함수, 슬라이싱, 문자열처리함수, 문자열포맷, 탈출문자 (0) | 2021.06.02 |
댓글