2 분 소요

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'>

댓글남기기