List 정리
List
순서를 가지는 객체의 집합
- 지하철 칸별로 10명, 20명, 30명
subway = [10, 20, 30]
print(subway)
[10, 20, 30]
subway = ["유재석", "조세호", "박명수"]
print(subway)
['유재석', '조세호', '박명수']
- 조세호씨가 몇 번째 칸에 타고 있는가?
print(subway.index("조세호"))
1
- 하하씨가 다음 정류장에서 다음 칸에 탐
subway.append("하하")
print(subway)
['유재석', '조세호', '박명수', '하하']
- 정형돈씨를 유재석 / 조세호 사이에 태워봄
subway.insert(1, "정형돈")
print(subway)
['유재석', '정형돈', '조세호', '박명수', '하하']
- 지하철에 있는 사람을 한 명씩 뒤에서 꺼냄
subway.pop()
print(subway)
['유재석', '정형돈', '조세호', '박명수']
- 같은 이름의 사람이 몇 명 있는지 확인
subway.append("유재석")
print(subway)
print(subway.count("유재석"))
['유재석', '정형돈', '조세호', '박명수', '유재석'] 2
- 정렬도 가능
num_list = [5,2,4,3,1]
num_list.sort()
print(num_list)
[1, 2, 3, 4, 5]
- 순서 뒤집기 가능
num_list.reverse()
print(num_list)
[5, 4, 3, 2, 1]
- 모두 지우기
num_list.clear()
print(num_list)
[]
- 다양한 자료형 함께 사용
mix_list = ["조세호", 20, True]
print(mix_list)
['조세호', 20, True]
- 리스트 확장
num_list = [5,2,4,3,1]
num_list.extend(mix_list)
print(num_list)
[5, 2, 4, 3, 1, '조세호', 20, True]
Dictionary
key와 value 형태
- key는 중복 불가
cabinet = {3:"유재석", 100:"김태호"}
print(cabinet[3])
print(cabinet[100])
유재석 김태호
print(cabinet.get(3))
유재석
-
get()을 이용하면 key 값이 없을때 None으로 출력
-
[]을 이용하면 Error 발생
print(cabinet.get(5))
None
print(cabinet.get(5, "사용 가능")) # key 값 5에 대한 value 없으면 "사용 가능" 넣기
사용 가능
print(3 in cabinet)
True
- string형 key 도 가능
cabinet = {"A-3":"유재석", "B-100":"김태호"}
print(cabinet["A-3"])
print(cabinet["B-100"])
유재석 김태호
- 새로운 key,value 할당
cabinet["A-3"] = "김종국" # 이미 key 값에 value 있으면 업데이트 된다.
cabinet["C-20"] = "조세호"
print(cabinet)
{'A-3': '김종국', 'B-100': '김태호', 'C-20': '조세호'}
- key 값 삭제
del cabinet["A-3"]
print(cabinet)
{'B-100': '김태호', 'C-20': '조세호'}
- key들만 출력
print(cabinet.keys())
dict_keys(['B-100', 'C-20'])
- value 들만 출력
print(cabinet.values())
dict_values(['김태호', '조세호'])
- key, value 쌍으로 출력
print(cabinet.items())
dict_items([('B-100', '김태호'), ('C-20', '조세호')])
- 모든 값 삭제
cabinet.clear()
print(cabinet)
{}
Tuple
내용 변경이나 추가 불가능 ( 속도가 List보다 빠르다. )
- () 사용
menu = ("돈까스","치즈까스")
print(menu[0])
print(menu[1])
돈까스 치즈까스
# name = "김종국"
# age = 20
# hobby = "코딩"
# print(name, age, hobby)
(name, age, hobby) = ("김종국", 20, "코딩")
print(name, age, hobby)
김종국 20 코딩
Set(집합)
중복 안되고, 순서가 없다.
my_set = {1,2,3,3,3}
print(my_set)
{1, 2, 3}
java = {"유재석", "김태호", "양세형"}
python = set(["유재석","박명수"]) # list로 만들고 set으로 변화
- 교집합 (java와 python을 모두 할 수 있는 개발자)
print(java & python)
print(java.intersection(python))
{'유재석'} {'유재석'}
- 합집합 (java 할 수 있거나 python 할 수 있는 개발자)
print(java | python)
print(java.union(python))
{'박명수', '양세형', '김태호', '유재석'} {'박명수', '양세형', '김태호', '유재석'}
- 차집합 (java 할 수 있지만 python은 할 줄 모르는 개발자)
print(java - python)
print(java.difference(python))
{'김태호', '양세형'} {'김태호', '양세형'}
- python 할 줄 아는 사람이 늘어남
python.add("김태호")
print(python)
{'김태호', '박명수', '유재석'}
- java를 잊었어요.
java.remove("김태호")
print(java)
{'유재석', '양세형'}
자료구조의 변경
- 커피숍
menu = {"커피", "우유", "주소"} # 자료형: Set
print(menu, type(menu)) #{}
{'우유', '주소', '커피'} <class 'set'>
menu = list(menu) # 자료형: List
print(menu, type(menu)) #[]
['우유', '주소', '커피'] <class 'list'>
menu = tuple(menu) # 자료형: tuple
print(menu, type(menu)) #()
('우유', '주소', '커피') <class 'tuple'>
댓글남기기