컨테이너 자료형 : 여러 개의 데이터가 묶여있는 자료형
컨테이너 자료형의 데이터 구조를 자료구조라고 한다.
각각의 컨테이너 자료형에 따라 차이가 있으며, 대표적인 컨테이너 자료형으로는 리스트(List), 튜플(Tuple), 딕셔너리(Dic), 세트(Set)가 있다.
리스트(List)와 튜플(Tuple)의 차이점
students = ['홍길동', '박찬호', '이용규', '박승철', '김지은']
print('Students : {}' .format(students))
print(type(students))
numbers = [10, 20, 30, 40, 50, 60, 70]
print('Numbers : {}' .format(numbers))
print(type(numbers))
strs = [3.14, '십', 20, 'one', '3.141592']
print('Strs : {}' .format(strs))
print(type(strs))
리스트(List)와 가장 큰 차이점
※ 리스트(List)와 비슷하지만 아이템 변경 불가
추가하려고 해 보면, 에러(Error)가 발생
students = ('류현기', '김지현', '성멸치', '이박사')
numbers = (10, 20, 30, 40, 50, 60)
strs = (3.14, '십', 20, 'one', '3.141592')
datas = (10, 20, 30, (40, 50, 60))
students = {'s1':'홍길동', 's2':'박찬호', 's3':'이용규'}
print(students)
print(type(students))
students = {'s1':'홍길동', 's2':'박찬호', 's3':'이용규', 's4':['김박사','임석사']}
print(students)
print(type(students))
inputNum = int(input('1보다 큰 정수 입력 : '))
listA = []
listB = []
for n in range(1, inputNum + 1):
if n == 1:
listA.append(n)
else:
if inputNum % n == 0:
listA.append(n)
print('약수 : {}' .format(listA))
for number in range(2, inputNum + 1):
flag = True
for n in range(2, number):
if number % n == 0:
flag = False
break
if flag:
listB.append(number)
print('소수 : {}' .format(listB))
scores = ( (3.7, 4.2), (2.9, 4.3), (4.1, 4.2) )
total = 0
for s1 in scores:
for s2 in s1:
total += s2
total = round(total, 1)
avg = round(total / 6, 1)
print(f'3학년 총 학점: {total}')
print(f'3학년 평균: {avg}')
grade4TargetScore = round((4.0 * 8 - total), 1)
print(f'4학년 목표 총 학점: {grade4TargetScore}')
minScore = round((grade4TargetScore / 2), 1)
print(f'4학년 한 학기 최소학점: {minScore}')
scores = list(scores)
scores.append((minScore, minScore))
scores = tuple(scores)
print(f'scores : {scores}')
dic = {}
for n in range(3, 11):
hap = 180 * (n - 2) # 내각의 합
ang = int(hap / n) # 내각
dic[n] = [hap, ang]
print(dic)