본문 바로가기
코딩 테스트 준비/Python 이론

파이썬 이론(자료 구조 형)

by gugigugi92 2023. 2. 24.

자료 구조형태

   리스트 : 값을 순서대로 저장 / 추가 삭제 가능

   튜플 : 값과 길이가 고정

   딕셔너리 : key value로 구성

   집합 : 중복 불가

 


튜플

       길이와 값이 고정되어 있어,  

        리스트와 다르게 배열의 변경이 불가능하다

          ex) a=(1,2,3)

          list ex) b=[1,2,3]

t1=(1,2,'a','b')
# t1[0] = 'c' # 튜플이기에 변경이 안된다며 오류가 뜬다
print(t1[0:2])

t2=(3,4)

#튜플의 연산
print(t1+t2)
print(t1*3)
a = (1,2) # a에 값을 할당
a = a * 3 # 튜플의 곱
print(a)

출력결과


딕셔너리(dictionary) 

                  키(key) 값(value) 쌍(pair)으로 이루어진 자료형이며

                   key를 통해 value를 얻는 목적으로 사용한다

                   서버에서 JSON 형태로 응답이 주로 들어온다 

                        ※키 값은 겹칠 수 없다.

                   ex) Hash map(JAVA) Object(JAVAscript) JSON

#dictionary 기본 형태
dic = {'name':'Eric','age':15} #이름(key)<->Eric(value) 나이(key)<->15(value)
print(dic['name'])

a = {1: 'a'} #기본 딕셔너리 선언
a['name'] = "익명" # 딕셔너리에 key와 value 추가시

del a['name']#딕셔너리에서 key값읈 삭제하여 구성요소를 제거한다 

print(a)

#딕셔너리에서 key를 사용해 Value 얻기
grade = {'pey':10, 'julliet':99}
print(grade['pey']) #삭제와 마찬기지로 출력할때 key값으로 출력
print(grade['julliet'])

b={1:'a', 1:'b'}
print(b)#{1:'b'} key가 중복되면마지막 키와 벨류만 남게된다

b={1:'a', 2:'b'}
print(b)

출력결과

 

# t1=(1,2,'a','b')
# # t1[0] = 'c' # 튜플이기에 변경이 안된다며 오류가 뜬다
# print(t1[0:2])

# t2=(3,4)

# #튜플의 연산
# print(t1+t2)
# print(t1*3)
# a = (1,2) # a에 값을 할당
# a = a * 3 # 튜플의 곱
# print(a)

#dictionary 기본 형태
# dic = {'name':'Eric','age':15} #이름(key)<->Eric(value) 나이(key)<->15(value)
# print(dic['name'])

# a = {1: 'a'} #기본 딕셔너리 선언
# a['name'] = "익명" # 딕셔너리에 key와 value 추가시

# del a['name']#딕셔너리에서 key값읈 삭제하여 구성요소를 제거한다 

# print(a)

# #딕셔너리에서 key를 사용해 Value 얻기
# grade = {'pey':10, 'julliet':99}
# print(grade['pey']) #삭제와 마찬기지로 출력할때 key값으로 출력
# print(grade['julliet'])

# b={1:'a', 1:'b'}
# print(b)#{1:'b'} key가 중복되면마지막 키와 벨류만 남게된다

# b={1:'a', 2:'b'}
# print(b)

a= {1: '윤대협', 2: '이정환', 3: '정우성'}

print(a.keys()) #key만 따로 뽑아 출력가능
print(a.values()) #value만 따로 뽑아 출력 가능
print(a.items()) # 튜플 형태로 key, value 둘다 출력 
for k in a.keys(): #k에 keys를 담아 출력
    print(k)

for v in a.values(): #v에 value를 담아 출력
    print(v) 

for v, k in a.items():# key value 를 각각 v k에 담아 출력
    print(v,k)
print(a[2]) 
print(a.get(3))
print(a.get(4,'없음'))#비어있는 key값을 출력해도 오류가 생기지 않는다
#딕셔너리 삭제(clear)
a.clear()
print(a)

출력결과

 

a= {1:"새우깡",2:"홈런볼",3:"치토스"}

print(4 in a)#boolean 형 반환

출력결과


집합 자료형

       중복이 허용되지 않는 자료형.

       집합에 관련된 것들을 쉽게 처리하기 위해 만들어진 자료형이다              

       순서가 존재하지 않는다(Unordered)

 

#집합 자료형 
s2 = set([4,5,6]) #선언하는 두가지 방법
s1 = {1,2,3}

print(type(s1))
print(s2)

l = [1,2,2,3,3] # 집합은 중복허용이 안됨
print(l) #중복제거가 안된 모습
newList = list(set(l)) # 집합형 으로 변환하여
print(newList) #중복을 제거하여 출력 가능 

s3 = set("hello")
print(s3)#문자열도 중복은 제거되서 순서가 없이 나온다

출력결과

# 집합의 연산
s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,8,9])
print(s1 & s2) #교집합 구하기
print(s1.intersection(s2))#같은결과

s3 = set([1,2,3,4,5,6])
s4 = set([4,5,6,7,8,9])
print(s3 | s4) #합집합 구하기
print(s3.union(s4))#같은결과

print(s1-s2)#차집합
print(s2.difference(s1))#같은 결과
s1.add(7)#s1에 7추가
print(s1)
s1.update([8,9])#여러개 추가
print(s1)
s1.remove(9)#값 제거
print(s1)

출력결과

boolean

   조건문 또는 반복문에서 주로 사용하는 자료형

ex) a= true

if true: print(a)

 

ex) while True:

a+=1

 

자료형의 참과 거짓

참 or 거짓
"python"
"" 거짓
[1,2,3]
[] 거짓
() 거짓
{} 거짓
1
0 거짓
None 거짓
bool
a= True
b= False
print(a)
print(type(a))
print(b)
print(type(b))

a=[1,2,3,4]
if a: # a가 참이라 아래 문장 실행
    print(a)
    
    print()

while a: #a 가 트루기때문에 아래 문장들이 실행
    a.pop() # 반복문에서 배열을 하나하나 지움
    print(a)

출력결과

'코딩 테스트 준비 > Python 이론' 카테고리의 다른 글

파이썬 이론(반복문)  (0) 2023.02.25
파이썬 이론(조건문)  (0) 2023.02.25
파이썬 이론(변수)  (0) 2023.02.25
파이썬 이론(인덱스)  (0) 2023.02.24
파이썬 이론(자료형)  (0) 2023.02.24

댓글