튜플 선언

data=('a','b','c','d','e')

print(data)
('a', 'b', 'c', 'd', 'e')
print(data[0], data[-1]) #인덱스 프린트 가능
a e

튜플 데이터 제한사항

tupledata=('dave', 'fun-coding','endless')

tupledata[0]='david' #튜플 데이터 추가 삭제가 안됨

파이썬의 변수 입력과 튜플 동작과정

var1, var2 = 1, 2 #변수 입력을 파이썬 내부적으로 튜플처럼 동작하는 과정을 보여줌

print(var1, var2)
var1, var2 = var2, var1  #변수 값을 Swapping

print(var1, var2)
1 2
2 1

튜플 데이터를 리스트로 변경하여 자료 삭제하기

tupledata = ('fun-coding1', 'fun-coding2','fun-coding3','fun-coding4','fun-coding5')

data = list(tupledata) #data에 튜플을 리스트로 저장

del data[0]  #리스트 0번을 삭제

data #data 출력
['fun-coding2', 'fun-coding3', 'fun-coding4', 'fun-coding5']
tupledata = ('fun-coding1', 'fun-coding2','fun-coding3','fun-coding4','fun-coding5')

data = list(tupledata) #data에 튜플을 리스트로 저장

del data[0]  #리스트 0번을 삭제

data1 = tuple(data) #튜플로 다시 변경한것을 data1에 저장

print(data)
print(data1)
['fun-coding2', 'fun-coding3', 'fun-coding4', 'fun-coding5']
('fun-coding2', 'fun-coding3', 'fun-coding4', 'fun-coding5')

튜플을 리스트로 변환 후 자료 추가하기

tupledata = ('fun-coding1', 'fun-coding2','fun-coding3')

data = list(tupledata) #data에 튜플을 리스트로 저장
data.append('fun-conding4') #리스트에서 'fun-condign4'을 추가

data1 = tuple(data) #튜플로 다시 변경한것을 data1에 저장

print(data)
print(data1)
['fun-coding1', 'fun-coding2', 'fun-coding3', 'fun-conding4']
('fun-coding1', 'fun-coding2', 'fun-coding3', 'fun-conding4')
data1 = tuple()
data2 = list()
data3 = dict()

print(type(data1), type(data2), type(data3))
<class 'tuple'> <class 'list'> <class 'dict'>

딕셔너리 key, value를 리스트로 저장하기

data = {'environment':'환경','company':'회사','goverment':'정부, 정치','face':'얼굴'} #딕셔너리 선언
keys = data.keys() #딕셔너리에서 키캆만 keys에 저장
values = data.values() #딕셔너리에서 값만 values에 저장

print(data)
print(list(keys))
print(list(values))

{'environment': '환경', 'company': '회사', 'goverment': '정부, 정치', 'face': '얼굴'}
['environment', 'company', 'goverment', 'face']
['환경', '회사', '정부, 정치', '얼굴']

딕셔너리 key, value를 반복문을 이용하여 출력하기

data = {'environment':'환경','company':'회사','goverment':'정부, 정치','face':'얼굴'} #딕셔너리 선언

for item in data.keys():
    print(item, ":", data[item])
environment : 환경
company : 회사
goverment : 정부, 정치
face : 얼굴

딕셔너리 value에 딕셔너리 넣기

data = {'environment':['환경', 'x'],'company': ['회사','o'],'goverment':['정부, 정치','x'],'face':['얼굴','o']} #딕셔너리 값안에 다양한 데이터 형태를 넣을 수 있음

for item in data.keys():
    data_list = data[item] #딕셔너리 아이템 값을 data_list에 넣기
    if data_list[1] == 'x': #data_list 두번째 항목에 x값이면
        print(item) #해당 item값을 출력
environment
goverment

딕셔너리 자료와 입력 자료를 비교하여 딕셔너리 value 값 수정하기

data = {'environment':['환경', 'x'],'company': ['회사','o'],'goverment':['정부, 정치','x'],'face':['얼굴','o']} #딕셔너리 값안에 다양한 데이터 형태를 넣을 수 있음

english = input()
if english in data.keys(): #딕셔너리 안에 키값에서 인풋된 내용과 일치한 것이 있으면
    data[english][1] = 'o' #해당 키캆의 두번째 인수 값을 'o'로 변경

for item in data.keys():
    data_list = data[item] #딕셔너리 아이템 값을 data_list에 넣기

    if data_list[1] == 'x': #data_list 두번째 항목에 x값이면
        print(item) #해당 item값을 출력
        print(data)
environment
{'environment': ['환경', 'x'], 'company': ['회사', 'o'], 'goverment': ['정부, 정치', 'o'], 'face': ['얼굴', 'o']}

여러가지 딕셔너리 자료 이용하기

dict_all = {'environment':'환경','goverment':'정부, 정치'}
dict2 = {'company':'회사','face':'얼굴'}
dict3 = {'apple':'사과'}

print(dict_all)
for item in dict2.keys():
    dict_all[item] = dict2[item] #dict2의 아이템을 가지고 와서 dict_all 아이템을 넣기

for item in dict3.keys():
    dict_all[item] = dict3[item]

print(dict_all)
{'environment': '환경', 'goverment': '정부, 정치'}
{'environment': '환경', 'goverment': '정부, 정치', 'company': '회사', 'face': '얼굴', 'apple': '사과'}

여러가지 딕셔너리 자료 활용하기

actor_info = {'actor_details':{'생년월일':'1971-03-01','성별':'남','직업':'배우','홈페이지':'https://www.instagram.com/madongseok'},
'actor_name':'마동석','actor_rate':59361,'date':'2017-10','movie_list':['범죄도시', '부라더', '부산행']} #딕셔너리 안에 아이템값으로 딕셔너리를 추가하거나 리스트를 넣을 수 있음

print(actor_info)
{'actor_details': {'생년월일': '1971-03-01', '성별': '남', '직업': '배우', '홈페이지': 'https://www.instagram.com/madongseok'}, 'actor_name': '마동석', 'actor_rate': 59361, 'date': '2017-10', 'movie_list': ['범죄도시', '부라더', '부산행']}
actor_info = {'actor_details':{'생년월일':'1971-03-01','성별':'남','직업':'배우','홈페이지':'https://www.instagram.com/madongseok'},
'actor_name':'마동석','actor_rate':59361,'date':'2017-10','movie_list':['범죄도시', '부라더', '부산행']} #딕셔너리 안에 아이템값으로 딕셔너리를 추가하거나 리스트를 넣을 수 있음

print("배우 이름:", actor_info['actor_name']) #배우 이름 출력
print("홈페이지:", actor_info['actor_details']['홈페이지'])  #actor_detail 키 값의 아이템에서(딕셔너리) 홈페이지 키의 아이템 값을 출력
print("출연 영화 갯수:", len(actor_info['movie_list'])) #len함수를 이용하여 movie_list의 리스트 갯수를 출력

배우 이름: 마동석
홈페이지: https://www.instagram.com/madongseok
출연 영화 갯수: 3

데이터 구조(집합)

number_list = [5, 1, 2, 2, 3, 3, 4, 5, 5, 6, 7, 8, 9, 9, 10, 10]
number_list1 = set(number_list)

print(number_list1) #set을 이용하면 중복된 수를 제거하고 표시
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
number_list2 = {1, 2, 3}
number_list2.add(4) #1개의 데이터를 추가할 때 add 사용
number_list2.update([5, 6]) #여러 데이터를 추가할 때 update 사용
number_list2.remove(2) #데이터를 제거할 때 remove 사용

number_list2
{1, 3, 4, 5, 6}
number_list1
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
number_list2
{1, 3, 4, 5, 6}
number_list1 & number_list2 #교집합
{1, 3, 4, 5, 6}
number_list1 - number_list2 #차집합
{2, 7, 8, 9, 10}
number_list1 | number_list2 #합집합
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}