[Python] 튜플, 집합, 자료구조의 변경
1. 튜플
#튜플
#제약이 많지만 리스트보다 빠름
menu = ("돈까스","치즈까스") #메뉴가 변경될 일 없음
print(menu[0])
print(menu[1])
#menu.add("생선가쓰") --> 튜플은 add를 사용할 수 없음
name = "쿠로"
age =" 20"
hobby = "바느질"
print(name, age, hobby)
#위 내용을 튜플로 해보자
(name, age, hobby) = ("쿠로","20", "바느질")
print((name, age, hobby))드를 입력하세요
2. 집합
#세트(set : 집합)
#중복안됨, 순서없음
my_set = {1,2,3,3} #dictionary에서는 {}에 key,value넣었으나..
print(my_set) #-> 1,2,3 만 나옴. 중복은 한번만 나옴
java = {"쿠로","아도니스","나기사"}
python = set(["쿠로","안즈"])
#교집합 : java와 python을 모두 할 수 이쓴 사람
print(java&python) #->쿠로
print(java.intersection(python)) #-> 쿠로
#합집합 : java를 할 수 있거나 또는 python을 할 수 있는 개발자
print(java | python)
print(java.union(python))
# .... 쿠로가 두번째로 가는데, 순서를 고려하지않음.
#차집합 : java를 할 수 있지만 python을 모르는 개발자
print(java - python)
print(java.difference(python))
#python을 할 줄 아는 사람이 늘었다...
python.add("아도니스")
print(python) #set에 값 추가 가능
java.remove("쿠로")
print(java) #set에서 값 제거 가능
3. 자료구조의 변경
#자료구조의 변경
menu = {"커피","우유","주스"}
print(menu, type(menu)) #-->{'주스', '우유', '커피'} <class 'set'>
menu = list(menu)
print(menu, type(menu)) #-->['커피', '주스', '우유'] <class 'list'>
menu = tuple(menu)
print(menu, type(menu)) #--> ('커피', '우유', '주스') <class 'tuple'>
#가로 모양이 바뀜
menu = set(menu)
print(menu, type(menu)) #--> {'커피', '주스', '우유'} <class 'set'>
4. 문제
"""
당신의 학교에서는 파이썬 코딩 대회를 주최합니다.
참석률을 노피익 위해 댓글 이벤트를 진행하기로 하였습니다.
댓글 작성자들 중에 추첨을 통해 1명은 치킨, 3명은 커피 쿠폰을 받게 됩니다.
추첨 프로그램을 작성하시오.
조건 1 : 편의상 댓글은 20명이 작성하였고 아이디는 1~20이라고 가정
조건 2 : 댓글 내용과 상관없이 무작위로 추첨하되 중복 불가
조건 3 : random 모듈의 shuffle 과 sample 을 활용
(출력 예제)
--- 당첨자 발표 ---
치킨 당첨자 : 1
커피 당첨자 : [2,3,4]
--- 축하합니다 ---
(활용 예제)
from random import *
lst = [1,2,3,4,5]
print(lst)
shuffle(lst) #값 순서를 무작위로 바꿈
print(lst)
print(sample(lst,1)) #lst에서 한개 무작위로 뽑음
--> print 결과
[1, 2, 3, 4, 5]
[1, 2, 5, 4, 3]
[4]
"""
from random import *
ID_list = range(1,21) # 1부터 20까지의 숫자 생성
print(type(ID_list))#<class 'range'>
ID_list = list(ID_list)
print(type(ID_list))#<class 'list'>
shuffle(ID_list)
print(ID_list) #셔플된 목록
#중복이 되면 안되는데 4명 뽑아야하니 한번에 4명뽑기
winners = sample(ID_list,4)
print(" -- 당첨자 발표 --")
print("치킨 당첨자 : {0}".format(winners[0]))
print("커피 당첨자 : {0}".format(winners[1:]))
print("--- 축하합니다---")
Author And Source
이 문제에 관하여([Python] 튜플, 집합, 자료구조의 변경), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@grin_55/Python-튜플-집합-자료구조의-변경저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)