본문 바로가기

프로그래밍 공부/Python

[파이썬 기초 2강] 자료구조(list, dictionary, tuple) + 쿠폰 당첨자 발표

반응형

 

 

 

안녕하세요

27년차 진로탐색꾼 조녁입니다!! 

 

파이썬 설치 방법은 아래 글 참고해주세요! (주피터 노트북 환경 + 구글 클라우드 사용이 가능한 Colab 환경 추천드립니다.)

jonhyuk0922.tistory.com/3

 

[코드프레소 X AI 양재허브] AI/ML 기초교육 1일차

안녕하세요. 26년차 진로탐색꾼 조녁입니다! 이번에 제가 탐색해볼 영역은 AI/ML 분야입니다~. 좋은 기회로 온라인 4일+ 오프라인 4일 강의를 듣게 되어 매일 배운 부분들 복습하면서 남기려 합니

jonhyuk0922.tistory.com

 

 

파이썬에 대한 기초적인 내용이지만 기억하면 좋을 것들이니 가볍게 한 번 봐주세요~ !

중간중간 작성하는 코드는 보라색으로 표시해두었으니 Colab에 같이 입력해보면서 따라오시면 재밌습니다.

*궁금하신 내용은 댓글에 질문 남겨주세요! 

 

 

파이썬 기초 2강 내용

1. 리스트(list)

2. 딕셔너리(dictionary)

3. 튜플(tuple)

4. 쿠폰 당첨자 발표 예제

 

 

1.리스트(list)

 -> 형태변환이 가능 , [ ] 안에 숫자,문자,bool값 다양한 구성 가능한 배열

 

eg) 지하철에 탑승한 승객을 리스트로 표현해보겠습니다.

 

-index

subway = ["르브론", "데이비스", "커리"]

print(subway.index("르브론"))       # index를 사용해서 , 르브론이 subway라는 list에서 몇번째에 있는 지 확인할 수 있다.

>>> 0     : list에서는 0 , 1 , 2 ,, 이렇게 순서를 매기기 떄문에 list 맨 앞에 있는 르브론의 index값은 0을 출력합니다.

 

-append : list 맨 뒤에 추가

subway.append("테이텀")

print(subway)

 

 

 

-insert : list 지정한 자리에 추가

subway.insert(1,"서브룩")

print(subway)

 

 

 

-pop() : 지하철(리스트) 맨 뒤에서 부터 순서대로 한명씩 내림

print(subway.pop())

>> 테이텀

 

-count : 지하철(리스트) 에 해당 사람 카운트

subway.count("르브론") #르브론이란 이름의 사람이 지하철에 몇명 탔는지 나타낸다.

>> 1 

 

-sort() : list 내부를 정렬시켜준다.

Num_list = [3, 4, 5, 6, 2]

Num_list.sort()

print(Num_list)

 

 

 

-reverse() : list 순서 뒤집기

Num_list = [3, 4, 5, 6, 2]

Num_list.reverse()

print(Num_list)

 

-clear() : list 내용 모두 지우기

Num_list = [3, 4, 5, 6, 2]

Num_list.clear()

Num_list

>> [ ]

 

-다양한 자료형 함께 사용 가능

mix_list = [ "프로농구" , 3 , True]

print(mix_list)

 

 

 

-extend : 리스트 확장

Num_list = [3,5,7,8]

Num_list.extend(mix_list)

print(Num_list)

 

 

2. 딕셔너리(dictionary)

 ->  { } 안에 key값 , 그리고 짝을 이루는 value 값의 배열 , 마치 사전에서 단어를 찾을 떄 단어 옆에 설명 써있는 것과 비슷

 

 

eg) 목욕탕에가면 캐비넷 열쇠를 받는데 거기는 번호가 적혀있다. 유재석 , 김태호가 목욕탕에 감.

 

cabinet = {3:"유재석",100:"김태호"}

print(cabinet[3])

print(cabinet[100])            #key값에 해당되는 value값 출력

>> 유재석

     김태호

 

print(cabinet.get(3))

print(cabinet.get(5),"사용 가능")       #print(cabinet[5])를 했을 때 오류를 출력하는 반면, get을 사용하면 None을 출력한다.

>> 유재석

     None 사용 가능 

 

print(3 in cabinet)

print(5 in cabinet)                  # 3 ,  5에 해당되는 value값이 캐비넷에 있나요? 라고 물어보므로 bool값 출력

>> True

     False

 

print(cabinet.items())            #dict 내에 키와 벨류 모두 출력

>> dict_items([(3, '유재석'), (100, '김태호')])

 

 

3. 튜플(tuple)

 -> 튜플은 변경(append나 extend 등)이 안되지만 속도는 list보다 빠르다.

 

menu = ("돈까스","생선까스")

print(menu[0])

>> 돈까스

 

-변수 지정 한번에 가능! 아래 두 가지는 같은 값을 출력한다.

 

name ="이종혁"

age = 26

hobby = "basketball"

print(name,age,hobby)



(name,age,hobby) = ("이종혁",26,"basketball")

print(name,age,hobby)

>>  이종혁 26 basketball

 

* 참고로 list, tuple , set 은 서로 형태 변화가 가능한데 아래와 같이 변경 가능합니다.

 

menu = ("돈까스","생선까스")

menu = list(menu)    /  menu = set(menu)

 

 

4. 쿠폰 당첨자 발표 예제

 

 

 

정답 코드 및 출력

 

from random import *

#20명의 사람을 랜덤으로 섞는다.
people = range(1,21)
people = list(people)
shuffle(people)

#20명 중 4명을 뽑는다.
good_luck = sample(people, 4)

#당첨자 발표
print("-- 당첨자 발표 --")
print(f"치킨당첨자 : {good_luck[0]}")
print(f"커피 당첨자 : {good_luck[1:]}")
print("-- 축하합니다 --")

 

 

개인적으로 나도코딩 강의가 좋았던 점은 챕터마다 끝에 예제가 있다는 것입니다.

특히 코딩테스트를 준비하는 분들에게는, 예제의 형태가 코딩테스트와 비슷해서 익숙해지는 데 도움이 많이 될 것으로 생각합니다.

 

 

P.S 오늘 저녁은 치킨을 먹고 싶네요 .. 

 

치킨은 후라이드

 

 

*본 포스팅은 유튜브 '나도코딩' 강의를 듣고 작성하였습니다.

특별히 긴 강의를 인프런이라는 사이트에서 파트별로 나눠서 제공해줘서 손쉽게 접할 수 있었습니다. 아래 링크 첨부하겠습니다.

 

 

참고자료

 

 

반응형