문자열, 딕셔너리, 세트.

Slides:



Advertisements
Similar presentations
회사명 : 타임 - 스페이스 컴퓨터 리페어 및 다국어 홈페이지 사업계획서 작성자 : 김일국.
Advertisements

2 장 자료형 및 연산자 - 김욱동 -. 목 차목 차  변수  자료형  유니코드  리스트  튜플  세트  사전  부울  얕은 / 깊은 복사.
Subjectpython 최종 작성일 작성자이승만 승인일승인자 Version History 업데이트일주요내용 V0., 제어문 Python study #2.
Dept. of School of Systems Biomedical Science SoongSil University.
2014 년 가을학기 계산 입문 연습 #2 지도교수 : 박성우 조교 : 김준성 1. 목차 복습하기 정수와 문자열 논리연산자 비교연산자 비교 연산자 & 논리 연산자 조건 연산식 변수 선언 2.
Python RaspberryPi Sejin Oh. Raspberry Pi Python  참과 거짓  Python 자료형의 참과 거짓을 구분 짓는 기준은 다음과 같다. 2 참과 거짓 자료형참 or 거짓 “” 가 아닌 문자열 ( 예 : “python”) 참 “” 거짓.
Python RaspberryPi Sejin Oh. Raspberry Pi Python  파이썬이란 무엇인가 ?  파이썬이란 1990 년 암스테르담의 귀도 반 로섬에 의해 만들어진 인 터프리터 언어이다.  파이썬은 사람이 생각하는 방식을 그대로 표현할 수 있도록.
내 마음의 버 스 이천신하교회 청년부. 이름 : 한상훈 나이 : 30 살 종교 : 기독교 ( 모태신앙 ) 생활신조 : 인생은 한방 ! 로또나 사자 이상형 : 청순 가련한 모태미녀 특이사항 : 걸그룹 노래에 환장함 식스팩을 갖기엔 슬픈 몸을 타고 남.
독서골든벨 2009 학년도 6 학년 1 학기 6-10 반. 1. 이야기 삼국유사 정대한 원효대사는 수행을 위해 떠나던 중 피곤하여 숲 속에서 잠이 들었다. 잠결에 너무 목이 마른 나머지 어디에 담겨있는 물을 맛있게 마셨나요 ?
두 손 들고 두 손 들고 찬양합니다 두 손 들고 찬양합니다 다시 오실 왕 여호와께 다시 오실 왕 여호와께 두 손 들고 찬양합니다 두 손 들고 찬양합니다 다시 오실 왕 여호와께 다시 오실 왕 여호와께 오직 주만이 나를 다스리네 오직 주만이 나를 다스리네 나 주님만을.
4. 우리들의 영양문제  기술ㆍ가정  청소년의 영양과 식사 > 1. 청소년의 영양 > 4. 우리들의 영양문제.
지구 EARTH 박세진 임수빈 오 주영 박서현 이가현 김 혜린 지구의 최초 의 생명체 - 오주 영.
지금은 기도 하는 시간입니다 1. 송구영신예배를 위해서 2. ‘크리스마스 이브’ 행사를 준비하는 교육 기관을 위하여
LAB 2..
강사: 이종인 다우 교육원 전임강사 / 온디멘드 수석 컨설턴트 / FMG 수석 컨설턴트
학교기록물 관리 봉화교육지원청.
Vision System Lab, Sang-Hun Han
RapidJson NEXT 김명찬.
OSGi 번들 서비스 의존성 해결을 위한 Residential Gateway 소프트웨어 구조 설계
Exel 2013 *텍스트와 기호,한자 삽입하기 클립아트=온라인그림 (장식) 데이터 탭-정렬 및 필터 그룹-정렬,필터
현대사회의 여성문제와 여성복지 3조 권경욱 강향원 황대인 변갑수 박창욱 김지현.
두근두근 파이썬 수업 9장 리스트와 딕셔너리.
03. 인쇄광고 알아보기.
관계 대수와 SQL.
고교평준화의 득과 실 김영주 이지영 최윤영.
데이터 관리의 모든 것 데이터 최적화하기 데이터 정렬하기 자동 필터와 고급 필터
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
Chapter 11 The C Shell.
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
3장. PHP 소개 데이타통신특론 김태영교수님 홍창의.
매크로 & VBA 강사 허소영.
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
1.민족의 발전과 민족 문화 창달(4)주체적 문화교류의 자세
Y. Daniel Liang 길준민 · 정재화.
MapReduce Practice :WordCount
하둡 기반 빅데이터 처리 방법.
발로 하는 파이썬 세미나 안녕하세요. 저는 발로 하는 파이썬 세미나를 발표할….
2010년 직원연수 자료 제1차 : 4월 16일 ~ 17일 제2차 : 4월 23일 ~ 24일
-제어문, 함수, 클래스- IS lab. 김건영 Python -제어문, 함수, 클래스- IS lab. 김건영
친구들과 함께 힘을 모아요. 차이와 다양성 교육 / 목표달성을 위한 협력 본 연구물은 학교 수업을 위해 개발된 것으로
지구를 위한 한 시간의 약속을 지킬 수 있을까?(1차시)
타대학 학점인정 신청 매뉴얼 ○포털시스템에 접속하여 로그인.
6장 데이터 타입(2) 순천향대학교 컴퓨터공학부 하 상 호.
목차 INDEX 1. 회원가입 및 로그인 2. 업체정보 3. 제조검사 신청 4. 인보이스 5. 검사진행현황(현장검사 신청)
중학교 2학년 과학 3. 지구와 별 > 2) 태양계 탐사 행성의 특징은 무엇일까?.
대기가 있는 태양.
2011년 전국 지사장회의 1.
기초 프로그래밍 Yang-Sae Moon Department of Computer Science
‘그린나래호텔’은 대한민국 공군에서 해운대 해수욕장변에 건축한 군의 복지향상을 위해 지은 군휴양소 건물입니다.
엑셀 2007 엑셀 함수(Excel Function).
아두이노 프로그래밍 1일차 – Part4 값출력 및 디지털 읽기 강사: 김영준 목원대학교 겸임교수
Apache Spark Tutorial 빅데이터 분산 컴퓨팅 박영택.
6장 데이터 타입(3) 순천향대학교 컴퓨터공학부 하 상 호.
업무 메뉴얼 1. 사무용품/소모품 청구의뢰서 작성요령 2. 법인 등기부등본/법인 인감증명 발급 요청서 작성요령
Apache Spark Tutorial 빅데이터 분산 컴퓨팅 박영택.
사업계획서.
2015학년도 고등학교 신입생 전형요강 설명회 광주광역시교육청 미래인재교육과 진로진학지원센터.
세션 (Session) Yang-Sae Moon Department of Computer Science
-자료형과 연산- IS lab. 김건영 Python -자료형과 연산- IS lab. 김건영
국어지도 유아교육과 권수연 김아람 중등특수교육과 박수진 양한솔
Spring, 2019 School of CSE Pusan National University
Python Tutorial 4: Data Structures
개정판 누구나 즐기는 C언어 콘서트 제10장 문자열 출처: pixabay.
나-는 믿음으로 주 얼굴 보리니- 아침에 깰 때에 주형상에 만족하리 나주님 닮기 원하네 믿음으로 주얼굴 보리라 -
책을 읽읍시다  탈향 진지하게 설명해드림 1303 김소희 1309박지호 1315이지수.
2016년 제1차 운영위원회 평택시건강가정 ∙다문화가족지원센터
빠르게 활용하는 파이썬3 프로그래밍 Chapter 8. 입출력 안녕하세요, 파이썬의 세계에 오신 것을 환영합니다.
컴퓨터 프로그래밍 및 실습 – 5주차 내장함수 / 외장함수 (1)
Python 기본.
배열.
Presentation transcript:

문자열, 딕셔너리, 세트

문자열 리스트는 요소 여러 개가 모여 있음. 마찬가지로 문자열도 문자가 여러 개 모여 있는 상태라 리스트와 비슷. 문자열을 인덱스로 접근 : 문자열[인덱스] >>> hello = 'Hello, world!' >>> hello[0] # 첫 번째(인덱스 0) 문자 출력 'H' >>> hello[4] # 다섯 번째(인덱스 4) 문자 출력 'o‘ >>> hello[-1] # 마지막(인덱스 -1) 문자 출력(뒤에서 첫 번째) '!' >>> hello[-2] # 마지막의 바로 앞(인덱스 -2) 문자 출력(뒤에서 두 번째) 'd‘ >>> hello[len(hello) - 1] # 마지막(인덱스 12) 문자 출력 리스트 비교 IDLE 에서 해보기

문자열 그림 문자열을 인덱스로 접근할 때는 범위를 벗어나면 안됨. 문자열은 인덱스를 지정하여 문자를 가져올 수는 있지만 =로 문자를 할당할 수는 없음. 즉, 문자열은 내용을 변경하는 방법이나 메서드를 제공하지 않음.

문자열 인덱스 범위 결정 : 문자열 [시작인덱스:끝인덱스] >>> hello = 'Hello, world!' '' >>> hello[1:2] 'e' >>> hello[3:5] 'lo' >>> hello[3:-1] 'lo, world' >>> hello[-10:12] >>> hello = 'Hello, world!' >>> hello[:5] 'Hello' >>> hello[5:] ', world!' >>> hello[:] 'Hello, world!‘ >>> hello[0:len(hello)] 'Hello, world!' >>> hello[:len(hello)]

더하기(+) 기호 사용해 연결. 또 곱하기(*) 기호 사용 문자열 반복

문자열과 for 반복문 문자열을 입력받아 반대로 출력 >>> for i in 'Hello': ... print(i, end=' ') ... H e l l o >>> 'e' in ‘Hello’ True

문자열 조작하기 : 파이썬에서 제공하는 문자열 메서드 사용 replace(바꿀문자열, 새문자열): 문자열 안의 문자열을 다른 문자열로 바꿈 split() : 공백을 기준으로 문자열을 분리하여 리스트로 만듬. join(리스트) : 구분자 문자열과 문자열 리스트(튜플)의 요소를 연결하여 문자열로 만듬. lstrip(삭제할문자들) : 문자열에서 왼쪽 공백을 모두 삭제. rstrip(삭제할문자들) : 오른쪽 공백을 모두 삭제. strip(삭제할문자들) : 양쪽 공백을 모두 삭제. find(찾을문자열) : 문자열에서 특정 문자열을 찾아서 인덱스를 반환하고, 문자열이 없으면 -1을 반환 rfind(찾을문자열) : 오른쪽에서부터 특정 문자열을 찾아서 인덱스를 반환 index(찾을문자열) : 왼쪽에서부터 특정 문자열을 찾아서 인덱스를 반환 count(문자열) : 현재 문자열에서 특정 문자열이 몇 번 나오는지 알아냄. upper() : 문자열의 문자를 모두 대문자로 lower() : 문자열의 문자를 모두 소문자로

zfill(길이) : 지정된 길이에 맞춰서 문자열의 왼쪽에 0을 채움. center(길이) : ljust(길이) : rjust(길이) :

>>> s = 'Hello, world!' >>> s.replace('world', 'Python') 'Hello, Python! >>> s = 'python' >>> s.upper() 'PYTHON' >>> s = 'PYTHON' >>> s.lower() 'python' >>> s = 'apple pineapple' >>> s.index('pl') 2 >>> s.rindex('pl') 12 >>> s = 'apple pear grape pineapple orange' >>> s.split() ['apple', 'pear', 'grape', 'pineapple', 'orange'] >>>s = 'apple,pear,grape,pineapple,orange' >>>s.split(',') >>> s = ' Python ' >>> s.lstrip() 'Python ' >>> s.rstrip() ' Python' >>> s.strip() 'Python' >>> s = 'apple pineapple' >>> s.count('pl') 2 >>> a = ' ' >>> a.join(['apple', 'pear', 'grape', 'pineapple', 'orange']) 'apple pear grape pineapple orange' >>> a = '-' 'apple-pear-grape-pineapple-orange' >>> s = ', python.' >>> s.lstrip(',.') ' python.' >>> s.rstrip(',.') ', python' >>> s.strip(',.') ' python' >>> s = 'apple pineapple' >>> s.rfind('pl') 12

문자열 내 대문자와 소문자 변환하기 : swapcase(), title()

문자열 중간의 공백까지 삭제해 주는 코드

문자열을 입력 받아 그중 o를 $로 변경하는 문자열 변경을 응용

연/월/일 형식으로 문자열을 입력받아 10년 후 날짜를 출력하는 코드

딕셔너리 사전은 단어와 설명 형태로 이루어져 있다. 딕셔너리는 { }(중괄호) 안에 키: 값 형식으로 저장하며 각 키와 값은 ,(콤마)로 구분 딕셔너리 = {키1: 값1, 키2: 값2} 키에는 리스트와 딕셔너리를 사용할 수 없다. >>> x = {'a': 10, 'b': 20, 'c': 30, 'd': 40, 'e': 50} >>> x {'a': 10, 'b': 20, 'c': 30, 'd': 40, 'e': 50} >>> x = {'a': 10, 'a': 20, 'c': 30, 'd': 40, 'e': 50} >>> x['a'] # 키가 중복되면 가장 뒤에 있는 값만 사용함 20 >>> x # 중복되는 키는 저장되지 않음 {'a': 20, 'c': 30, 'd': 40, 'e': 50}

빈 딕셔너리를 만들 때는 { }만 지정하거나 dict를 사용 딕셔너리 = {} ,딕셔너리 = dict() 다양한 방법으로 딕셔너리 딕셔너리 = dict(키1=값2, 키2=값2) • 딕셔너리 = dict(zip([키1, 키2], [값1, 값2])) • 딕셔너리 = dict([(키1, 값1), (키2, 값2)]) • 딕셔너리 = dict({키2: 값1, 키2: 값2}) >>> x = {} >>> x {} >>> y = dict() >>> y >>> x1 = dict(a=10, b=20, c=30)    # 키=값 형식으로 딕셔너리를 만듦 >>> x1 {'a': 10, 'b': 20, 'c': 30} x2 = dict(zip(['a', 'b', 'c'], [10, 20, 30])) # zip을 이용하여 리스트 두 개를 딕셔너리로 만듦 >>> x2 {'a': 10, 'b': 20, 'c': 30}

세 번째 방법은 리스트 안에 (키, 값) 형식의 튜플을 나열하는 방법입니다. >>> x3 = dict([('a', 10), ('b', 20), ('c', 30)]) # (키, 값) 형식의 튜플로 딕셔너리를 만듦 >>> x3 {'a': 10, 'b': 20, 'c': 30} >>> x4 = dict({'a': 10, 'b': 20, 'c': 30}) # dict 안에서 중괄호로 딕셔너리를 만듦 >>> x4 {'a': 10, 'b': 20, 'c': 30} >>> x = dict(zip(range(1, 11), [2 ** i for i in range(1, 11)])) >>> x {1: 2, 2: 4, 3: 8, 4: 16, 5: 32, 6: 64, 7: 128, 8: 256, 9: 512, 10: 1024}

딕셔너리의 키에 접근하고 값 할당하기: 딕셔너리[키] 딕셔너리의 키에 접근하고 값 할당하기: 딕셔너리[키] >>> x = {'a': 10, 'b': 20, 'c': 30, 'd': 40, 'e': 50} >>> x['a'] 10 >>> x['c'] 30 >>> x['e'] 50 >>> x = {100: 'hundred', False: 0, 3.5: [3.5, 3.5]} >>> x[100] 'hundred' >>> x[False] >>> x[3.5] [3.5, 3.5] 딕셔너리의 값 할당하기: 딕셔너리[키]=값 >>> x = {'a': 10, 'b': 20} >>> x['a'] = 100 # 키 'a'의 값을 100으로 변경 >>> x['b'] = 200 # 키 'b'의 값을 200으로 변경 >>> x['c'] = 300 # 키 'c'를 추가하고 값 300 할당 >>> x {'a': 100, 'b': 200, 'c': 300}

딕셔너리의 키 개수 구하기:len(딕셔너리) >>> x = {'a': 10, 'b': 20, 'c': 30, 'd': 40} >>> len(x) 4 >>> len({'a': 10, 'b': 20, 'c': 30, 'd': 40}) zip과 range로 만든 딕셔너리의 키 개수 >>> x = dict(zip(range(174, 235), [str(i) for i in range(174, 235)])) >>> len(x) 61

딕셔너리 조작하기 >>> x = {'a': 10, 'b': 20, 'c': 30, 'd': 40} >>> x.update(a=100, b=200) >>> print(x['a'], x['b']) 100 200 >>> x = {'a': 10, 'b': 20, 'c': 30, 'd': 40} >>> x.pop('a') 10 >>> x {'b': 20, 'c': 30, 'd': 40} >>> x.pop('z', 0) >>> x = {'a': 10, 'b': 20, 'c': 30, 'd': 40} >>> del x['a'] >>> x {'b': 20, 'c': 30, 'd': 40}

>>> x = {'a': 10, 'b': 20, 'c': 30, 'd': 40} >>> x.popitem() ('d', 40) >>> x {'a': 10, 'b': 20, 'c': 30} >>> <span class="n">x = {'a': 10, 'b': 20, 'c': 30, 'd': 40} >>> x.clear() >>> x {} >>> x = {'a': 10, 'b': 20, 'c': 30, 'd': 40} >>> x.get('a') 10 >>> x.get('z', 0)

>>> x = {'a': 10, 'b': 20, 'c': 30, 'd': 40} >>> x.setdefault('e') >>> x.setdefault('f', 100) 100 >>> x {'a': 10, 'b': 20, 'c': 30, 'd': 40, 'e': None, 'f': 100} >>> x = {'a': 10, 'b': 20, 'c': 30, 'd': 40} >>> x.items() dict_items([('a', 10), ('b', 20), ('c', 30), ('d', 40)]) >>> x.keys() dict_keys(['a', 'b', 'c', 'd']) >>> x.values() dict_values([10, 20, 30, 40])

>>> keys = ['a', 'b', 'c', 'd'] >>> x = dict.fromkeys(keys) >>> x {'a': None, 'b': None, 'c': None, 'd': None} >>> y = dict.fromkeys(keys, 100) >>> y {'a': 100, 'b': 100, 'c': 100, 'd': 100} dict.fromkeys(키리스트)와 같이 메서드에 키 리스트만 지정하면 값은 모두 None이 저장되고, dict.fromkeys(키리스트, 값)과 같이 키 리스트와 값을 지정하면 해당 값이 딕셔너리의 값으로 저장

딕셔너리를 완전히 두 개로 만들려면 copy() 로 키-값 쌍을 모두 복사 >>> x = {'a': 0, 'b': 0, 'c': 0, 'd': 0} >>> y = x.copy() >>> y['a'] = 99 >>> x {'a': 0, 'b': 0, 'c': 0, 'd': 0} >>> y {'a': 99, 'b': 0, 'c': 0, 'd': 0} >>> >>> x = {'a': 0, 'b': 0, 'c': 0, 'd': 0} >>> y = x.copy() >>> y['a'] = 99 >>> x {'a': 0, 'b': 0, 'c': 0, 'd': 0} >>> y {'a': 99, 'b': 0, 'c': 0, 'd': 0} >>>

반복문으로 딕셔너리의 키-값 쌍을 모두 출력하기 for 키, 값 in 딕셔너리.items(): 반복할 코드 #↑ 들여쓰기 4칸 >>> x = {'a': 10, 'b': 20, 'c': 30, 'd': 40} >>> for key, value in x.items(): ... print(key, value) ... a 10 b 20 c 30 d 40 >>> x = {'a': 10, 'b': 20, 'c': 30, 'd': 40} >>> for i in x: ... print(i, end=' ') ... a b c d >>> x = {'a': 10, 'b': 20, 'c': 30, 'd': 40} >>> for value in x.values(): ... print(value, end=' ') ... 10 20 30 40 >>> x = {'a': 10, 'b': 20, 'c': 30, 'd': 40} >>> for key in x.keys(): ... print(key, end=' ') ... a b c d

>>> {key: 0 for key in dict. fromkeys(['a', 'b', 'c', 'd']) >>> {key: 0 for key in dict.fromkeys(['a', 'b', 'c', 'd']).keys()}> # 키만 가져옴 {'a': 0, 'b': 0, 'c': 0, 'd': 0} >>> {value: 0 for value in {'a': 10, 'b': 20, 'c': 30, 'd': 40}.values()} # 값을 키로 사용 {10: 0, 20: 0, 30: 0, 40: 0} >>> {value: key for key, value in {'a': 10, 'b': 20, 'c': 30, 'd': 40}.items()} # 키-값 자리를 바꿈 {10: 'a', 20: 'b', 30: 'c', 40: 'd'}

딕셔너리 안에서 딕셔너리 사용하기 terrestrial_planet = { 'Mercury': { 'mean_radius': 2439.7,'mass': 3.3022E+23,'orbital_period': 87.969 }, 'Venus': {'mean_radius': 6051.8, 'mass': 4.8676E+24, 'orbital_period': 224.70069, }, 'Earth': {'mean_radius': 6371.0, 'mass': 5.97219E+24, 'orbital_period': 365.25641, }, 'Mars': {'mean_radius': 3389.5, 'mass': 6.4185E+23, 'orbital_period': 686.9600, } } print(terrestrial_planet['Venus']['mean_radius']) # 6051.8

세트(set) 집합을 표현하는 세트(set)라는 자료형을 제공 세트는 합집합, 교집합, 차집합 등의 연산이 가능 세트는 { }(중괄호) 안에 값을 저장하며 각 요소(값)은 ,(콤마)로 구분 세트 = {값1, 값2, 값3}, set(반복가능한객체) 세트에 들어가는 요소는 중복될 수 없음. 전체가 출력 >>> fruits = {'strawberry', 'grape', 'orange', 'pineapple', 'cherry'} >>> fruits {'pineapple', 'orange', 'grape', 'strawberry', 'cherry'} >>> b = set(range(5)) >>> b {0, 1, 2, 3, 4}

집합 연산 사용 add로 요소(값)를 추가 세트1 | 세트2: 합짐합 세트1 & 세트2 : 교집합 세트1 - 세트2 : 차집합 세트1 ^ 세트2 : 대칭차집합 집합 연산 사용 >>> a = {1, 2, 3, 4} >>> b = {3, 4, 5, 6} >>> a | b {1, 2, 3, 4, 5, 6} >>> a = {1, 2, 3, 4} >>> b = {3, 4, 5, 6} >>> a & b {3, 4} >>> a = {1, 2, 3, 4} >>>b = {3, 4, 5, 6} >>> a - b {1, 2} >>> a = {1, 2, 3, 4} >>> b = {3, 4, 5, 6} >>> a ^ b {1, 2, 5, 6} add로 요소(값)를 추가 >>> a = {1, 2, 3, 4} >>> b = a >>> b.add(5) >>> a {1, 2, 3, 4, 5} >>> b