Ch.7 파이썬- 리스트, 튜플, 딕셔너리

Gayeong Jeong·2021년 10월 22일
0

리스트: 변수의 집합

str () 숫자를 문자로 바꿔주는 함수

리스트는 대괄호[]로 생성
튜플은 괄호()로 생성, 값 수정 불가, 읽기 전용 저장
그래서 .append나 del 이용 불가

'''
#7-5
myList=[30,10,20]
print("현재 리스트 : %s" % myList)

myList.append(40) #항목 추가
print("append(40) 후의 리스트 : %s" %myList)

print("pop() 으로 추출한 값 : %s" %myList.pop()) #마지막 항목 삭제
print("pop() 후의 리스트 : %s" %myList)

myList.sort() #리스트 항목 정렬
print("sort() 후의 리스트 : %s" %myList)

myList.reverse() #리스트 항목 순서 역순으로
print("reverse() 후의 리스트 : %s" %myList)

print("20 값의 위치 : %d" % myList.index(20))

myList.insert(2,222) #지정된 위치에 값 삽입
print("insert(2,222) 후의 리스트 : %s" %myList)

myList.remove(222) #지정된 값 제거
print("remove(222) 후의 리스트: %s " %myList)

myList.extend([77,88,77]) #리스트 뒤 리스트 추가
print("extend([77,88,77]) 후의 리스트 : %s" %myList)

print("77 값의 개수 : %d" %myList.count(77))

#7-4
aa=[]
bb=[]
value=0

for i in range(0,10):
aa.append(value)
value+=2
print(aa)
print(aa[9])

for i in range(0,10):
bb.append(aa[9-i])
print(bb)

print("bb[0]은 %d, bb[99]는 %d 입력됨" %(bb[0], bb[9]))

'''

#7-7 다차원 배열
'''
list1=[ ]
list2=[ ]
value=1

for i in range(0,3):
for k in range(0,4):
list1.append(value)
value += 1
list2.append(list1)
list1=[ ]
'''
'''
for i in range(0,3):
for k in range(0,4):
print("%3d" % list2[i][k], end=" ")
print("")

'''
'''
#1차원 배열
list1=[]
for i in range(0,10):
list1.append(i)
print(list1)
'''

#2차원 배열
list1=[] #내부배열
list2=[] #외부배열
value=1 #배열의 값을 위한 변수, 초기화 되지 않고 증가하는 변수

for i in range(0,4): #외부 배열을 위한 반복문, 4번 반복
for k in range(0,5): #내부배열을 위한 반복문, 5번 반복
list1.append(value) #빈 리스트에 value 값 추가
value +=1 # value 1씩 증가
print(list1)
list2.append(list1) #list 배열2에 list 배열1 추가
print(list2)
list1=[] #1차 배열 지우기

#2차원 리스트의 값 출력하기, 하나하나 출력하기
for i in range(0,4):
for k in range(0,5):
print("%3d" %list2[i][k], end="")
print("")

#3차원 배열

list1=[] #1차배열
list2=[] #2차배열
list3=[] #3차배열
value=1 #배열의 값을 위한 변수, 초기화 되지 않고 증가하는 변수

for x in range(0,2): #3차 배열을 위한 반복문 , 2번 반복
for i in range(0,4): #2차 배열을 위한 반복문, 4번 반복
for k in range(0,5): #1차 배열을 위한 반복문, 5번 반복
list1.append(value) #빈 리스트에 value 값 추가
value +=1 # value 1씩 증가
print(list1)
list2.append(list1) #2차 배열에 1차 배열 추가
print(list2)
list1=[] #1차 배열 비우기
list3.append(list2) #3차 배열에 2차 배열 추가
list2=[] #2차 배열 비우기
print(list3)

#2차원 리스트의 값 출력하기, 하나하나 출력하기
for x in range(0,2):
for i in range(0,3):
for k in range(0,4):
print("%3d" %list3[x][i][k], end="")
print("")
print("")

#3차 배열

list1=[] #1차배열
list2=[] #2차배열
list3=[] #3차배열
value=1 #배열의 값을 위한 변수, 초기화 되지 않고 증가하는 변수

for x in range(0,2): #3차 배열을 위한 반복문 , 2번 반복
for i in range(0,4): #2차 배열을 위한 반복문, 3번 반복
for k in range(0,5): #1차 배열을 위한 반복문, 4번 반복
list1.append(value) #빈 리스트에 value 값 추가
value +=1 # value 1씩 증가
print(list1)
list2.append(list1) #2차 배열에 1차 배열 추가
print(list2)
list1=[] #1차 배열 비우기
list3.append(list2) #3차 배열에 2차 배열 추가
list2=[] #2차 배열 비우기
print(list3)

#3차원 리스트의 값 출력하기, 하나하나 출력하기

for x in range(0,2):
for i in range(0,3):
for k in range(0,4):
print("%3d" %list3[x][i][k], end="")
print("")
print("")

#튜플 : 한 번 만들고 나면 변결할 수 없는 집합
#리스트는 대괄호[ ], 튜플은 소괄호( ), 딕셔너리는 중괄호{ }로 생성
#튜플은 값을 수정할 수 없으며 읽기만 가능하므로 읽기 전용의 자료를 저장할 때 사용

mytuple=(1,2,3)
print(type(mytuple)) #데이터 형식 출력
print(mytuple) #튜플 전체 출력
print(mytuple[0]) #튜플과 리스트의 공통점: 인덱스로 값을 불러올 수 있음
#mytuple[1]=20 #튜플은 값을 수정할 수 없음. 에러 출력

mytuple1=1,2,3 #튜플은 일반적으로 소괄호()없어도 됨.보다 명확하게 하기 위해 소괄호 사용 권장
print(type(mytuple1))
print(mytuple1)

mytuple2=(1,) #튜플의 요소가 하나밖에 없을 때는 반드시 콤마(,)를 넣어줘야 함
print(type(mytuple2))
#mytuple2.clear() 튜플은 삭제가 불가능

#딕셔너리 : 인덱스가 아닌 키로 값을 지정
#리스트의 인덱스 대신 키 사용, 딕셔너리는 키를 이용하여 값을 찾아낼 때 편리
#딕셔너리는 리스트와 달리 값을 순서를 지켜주지 않는다.

#학생 정보의 리스트 표현
student1= [20,'홍길동','빅데이터']

#학생 정보의 딕셔너리 표현
student2= {'나이':20, '이름':'홍길동', '전공':'빅데이터'}
print(student2['전공']) #키 값으로 불러줘야함
print(student2['나이'], student2['이름'], student2['전공'])
#print(student2[1])#인덱스로 호출시 에러남, 키로 출력

#딕셔너리에 값 추가
student2['연락처'] = '010-123-4567' #새로운 키와 값 대입: 새로운 키가 마지막에 추가
print(student2)
student2['연락처'] = '010-123-0000' #키존의 키에 값 대입: 기존 키 값 변경
print(student2)

#딕셔너리는 remove(), append() 함수를 적용할 수 없다
#student2.append('010-123-4567')

student2.pop('전공') #pop() 함수로 딕셔너리의 특정키의 값 삭제
print(student2)
del(student2['이름']) #del 구문으로 딕셔너리의 특정키의 값 삭제
print(student2)

#딕셔너리와 리스트는 수정 가능 , 튜플은 수정이 불가능
student2.clear() #clear() 함수를 사용하면 딕셔너리와 리스트의 내용이 모두 지워짐
print(student2)
student1.clear()
print(student1)

    

0개의 댓글