본문 바로가기
프로그래밍언어/python

[python]파이썬 기본 문법 정리2_자료구조(리스트, 딕셔너리, 튜플, 세트)

by 연어바케트 2020. 12. 19.
반응형

리스트

subway =["유", "조", "박"] #리스트 선언
print(subway.index("조")) # 1
subway.append("하") #추가
print(subway)
subway.insert( 1, "정") # 1번자리에 추가 할때 
print(subway)
print(subway.pop()) #리스트의 마지막 값 빼기 
print(subway) # '하'가 빠진다.
subway.append("유") # 리스트 뒤에 추가
print(subway.count("유")) # 리스트에'유'갯수를 세어줌

num_list = [2,3,5,1,3,54,12341 ,123]
num_list.sort() # 숫자 크기별로 정렬
print(num_list)
num_list.reverse() # 거꾸로 뒤집어준다.
# print(num_list)
# num_list.clear() # 리스트의 모든 값을 지움

mix_list =["조",123,True] # 제일 충격!!! 모든 자료형이 한곳에 있다니.. 
print(mix_list)
mix_list.extend(num_list) # 배열 합치기 
print(mix_list) # ['조', 123, True, 12341, 123, 54, 5, 3, 3, 2, 1]

●리스트

     ▷리스트는 [ ], 대괄호를 사용하여 나타낸다.

 

     ▷append(a) : 리스트 뒤에 값을 추가할 때 사용된다.

 

     ▷insert(위치, 값) : 사용자가 위치를 선정하여 값을 추가할 수 있다.

 

     ▷pop() : 리스트의 맨 마지막 값을 삭제하면서 해당 값을 반환해준다. 

 

     ▷count(a) : a 값이 리스트에 몇개가 들어 있는지 갯수를 반환해준다. 

 

     ▷sort() : 리스트의 모든 값을 크기 별로 정렬 해준다.

 

     ▷reverse() : 리스트의 값을 거꾸로 정렬 해준다. (ex. [1,2,3,4] - > [4,3,2,1])

 

     ▷list_a.extend(list_b) :  list_a에 list_b를 추가한다. 

 

사전, dictionary

cabinet = {3:"유", 100:"조"} #  딕셔너리 선언 key : data
print(cabinet[3]) # 유
print(cabinet.get(3))# 유
print(cabinet.get(5)) #get은 none을 반환 [5]는 에러
print(cabinet.get(5, "사용가능")) #None이 반환되면 두번째 값 호출
print(cabinet.get(3, "사용가능")) #key 3 있기때문에 유 반환
print(3 in cabinet) #cabinet에 있는지 bool형 반환
print(5 in cabinet) # False 반환

cabinet2 = {"a":"유", "b":"조"}
print(cabinet2.get("a"))
# cabinet2["a"] = "asb" # a : "유" -> a = "asb"로 바뀐다.
cabinet2[1] = "asb" # key :1 , data : "asb" 추가
print(cabinet)
del cabinet2["a"]
#del cabinet2[2] # key error 
print(cabinet2)
print(cabinet2.keys()) #key값만 출력
print(cabinet2.values()) #value값들만 출력
print(cabinet2.items()) #key,vlaue값 출력

●사전, 딕셔너리(dictionary)

     ▷딕셔너리 {key : value, key : value} : 중괄호로 정의 하며, key : value한쌍으로 값이 묶여있다. 

 

     ▷get(key) : 딕셔너리에서 해당 key값을 찾고 value를 반환 해준다. 해당 key 값을 없을 경우 None을 반환한다. 

 

     ▷get(key , defalut ) : 해당 key값이 있을 경우 value를 반환 해주고, None일 경우 defalut 값에 정의된 값을 반환.

 

     ▷key in dic : 7,8 번째 줄에 사용되 문법으로 딕셔너리에 key이 있으면 True, 없으면 False를 반환한다.

 

     ▷dic[key] = value: 딕셔너리에 key와 data를 추가해준다. key가 이미 값이있다면 해당 value로 바꾼다. 12번째줄

 

     ▷del dic[key] : key을 찾아 dic에서 삭제한다. key값이 없다면 key error가 발생한다. 

 

     ▷dic.keys() : 딕셔너리에 모든 key값만 보고싶을 때

 

     ▷dic.values() : 딕셔너리에 모든 value값만 보고싶을 때  

 

     ▷dic.items() :  딕셔너리에 모든 key : value 값 확인

 

튜플

menu = ("돈까스", "치즈까스") # 튜플 선언
print(menu)
#menu.add 안된다 고정된 값에만 사용된다. 

●튜플(Tuple)

     ▷튜플 : ( )괄호로 선언하여 사용. 리스트보다 빠른 속도가 장점 but 내용 변경이 안된다. 

 

     ▷Tuple.add : 사용 할 수없다. 튜플은 값을 변경할 수 없다.

 

세트

my_set = {1,2,3,4,4,4,4} # 세트 선언, 4는 중복되어 출력되지 않음
print(my_set) 

java = {"유","박","양", "김"}
python = {"유","조"}

#교집합
print(java & python)
print(java.intersection(python))

#합집합
print(java | python)
print(java.union(python))

#차집합
print(java - python)
print(java.difference(python))

#추가 및 삭제
python.add("태")
java.remove("김")

●세트(set)

     ▷세트(set) : { } 중괄호를 이용하여 선언. 중복이 안되며 순서 없음 (딕셔너리는 key, value 값이 한쌍 )

 

     ▷ & , intersection() : 두개의 세트에서 교집합을 찾을 때 사용 , 교집합되는 부분을 반환한다. 

 

     ▷ | , union() : 두개의 세트에서 합집합을 찾을 때 사용, 합집합 된 값들을 반환한다.

 

     ▷ set1- set2 , set1.difference(set2) : 두개의 세트중 set1에서 set2 값을 뺀 값을 반환한다.

 

     ▷add() : value 추가 .

 

     ▷remove() : value 삭제.

 

자료구조 형변환

menu = {"커","우유", "주"}
print(menu, type(menu)) #set은 중괄호
menu = list(menu)
print(menu, type(menu)) #list는 대괄호
menu = tuple(menu)
print(menu, type(menu)) #tuple은 중괄호
menu = set(menu)
print(menu, type(menu))

●형변환

     ▷자료구조 확인  : type(자료구조)는 현재 자료구조 type이 무엇인지 알수 있음. 2번재 줄에서 set를 반환한다.

 

     ▷형 변환 : 1번째 줄에서 menu는 set으로 자료구조가 생성되었지만. 3번째 줄에서 list로 형변환하여 list로 변경.

 

     ▷ list, tuple, set는 서로 형변환이 가능. 딕셔너리는 key, value 값이 한쌍이 되어야 하기때문에 형변환이 안된다.

 

 

 

※ 이전 자료

 

파이썬 기본 문법 정리1

파인썬 기본 문법 정리 '나도코딩'님 강의 참고. 출력 print("hello world") 입력 age = input("나이를 입력하시오") #입력함수 print(age) 변수 a = 10 b = 20 c = a+b print(c) name = "홍길동" print(name) lon..

salmonworld.tistory.com

 

반응형

댓글