ursobad
ursobad
ursobad
전체 방문자
오늘
어제
  • 분류 전체보기 (116)
    • Emotion (35)
      • 파이썬 (10)
      • 문제 (10)
      • 인공지능 기초 (15)
    • Best of the Best (3)
    • Hacking (58)
      • HackCTF (12)
      • DreamHACK (7)
      • Webhacking.kr (19)
      • Root Me (6)
      • HTB (5)
      • 기타 (7)
      • 리버싱 소수전공 (2)
    • 기능반 (16)
      • 2과제 (14)
      • 3과제 (2)
    • 기록 (3)
    • 짧은 글들 (0)
    • 기타 (1)
    • Zombie (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • BoB 면접
  • 앙상블
  • 의사결정트리
  • BoB 자기소개
  • Python
  • 함수
  • OpenCV
  • BoB 질문
  • 머신러닝
  • 파이썬
  • BoB 11기
  • BoB 자기소개서
  • 123
  • KNN
  • Bob
  • BoB 필기
  • 백준
  • 얼굴검출
  • BoB 자소서
  • 구독자 전용 다시보기

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ursobad

ursobad

파이썬_2
Emotion/파이썬

파이썬_2

2020. 6. 29. 18:37

리스트

리스트=[값,값,값]

a=[1,2,3,4,5]

->값이 5개인 리스트
리스트에 저장된 각 값을 요소라고 한다.
요소안에는 숫자 뿐만아니라 여러가지 자료형도 넣을 수 있다.

빈 리스트 만들기

리스트=[]
리스트 = list()

a=[]
a=list()

range를 이용한 리스트 만들기

range(횟수)
지정한 횟수 숫자는 생성되는숫자에 포함되지 않음
리스트=list(range(횟수))

>>> a=list(range(10))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


리스트 = list(range(시작, 끝))
끝숫자는 생성되는 숫자에 포함되지 않음

>>> a=list(range(5,12))
>>> a
[5, 6, 7, 8, 9, 10, 11]


리스트 = list(range(시작, 끝, 증가폭))

>>> a=list(range(-2,16,2))
>>> a
[-2, 0, 2, 4, 6, 8, 10, 12, 14]

튜플

리스트처럼 요소를 일렬로 저장
읽기전용 리스트라고 생각하면 편함
튜플 =(값,값,값)
튜플 =값,값,값
->값에 여러 자료형도 가능

요소가 한개 들어있는 튜플 만들기

(값)->X
(값, )->O

a=(5,)
a=5,

range를 이용한 튜플 만들기

튜플=tuple(range(횟수))

>>> a=tuple(range(10))
>>> a
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)


튜플 = tuple(range(시작, 끝))

>>> a=tuple(range(5,12))
>>> a
(5, 6, 7, 8, 9, 10, 11)


튜플 = tuple(range(시작, 끝, 증가폭))

>>> a=tuple(range(-2,16,2))
>>> a
(-2, 0, 2, 4, 6, 8, 10, 12, 14)

 

튜플을 리스트로, 리스트를 튜플로

>>> a=[1,2,3]
>>> tuple(a)
(1, 2, 3)

tuple안에 리스트를 넣으면 새 튜플 생성

>>> b=4,5,6
>>> list(b)
[4, 5, 6]

list안에 튜플을 넣으면 새 리스트 생성

시퀀스 자료형

튜플, 리스트, 문자열, range처럼 값이 연속적으로 이어진 자료형을 시퀀스 자료형이라고 한다
시퀀스 객체 : 시퀀스 자료형로 만든 객체
요소 : 시퀀스 객체에 들어있는 값

특정 값이 있는지 확인

값 in 시퀀스 객체

>>> a=[1,2,3,4,5,6,7,8,9]
>>> 3 in a
True
>>> 10 in a
False


값 not in 시퀀스 객체

>>> a=[1,2,3,4,5,6,7,8,9]
>>> 3 not in a
False
>>> 10 not in a
True

->튜플, 리스트, range에도 적용 가능

시퀀스 객체 연결

시퀀스 객체 + 시퀀스 객체2

>>> a=[1,2,3,4]
>>> b=[5,6,7,8]
>>> a+b
[1, 2, 3, 4, 5, 6, 7, 8]

range는 +로 객체 연결이 불가능하다.
하지만 리스트나 튜플로 만들면 +로 객체 연결이 가능하다.

시퀀스 객체 반복

시퀀스 객체 * 정수

>>> a=[1,2,3,4]
>>> a*3
[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]

range는 *로 객체 반복이 불가능하다.
하지만 리스트나 튜플로 만들면+로 객체 반복이가능하다.

시퀀스 객체의 요소길이 구하기

len()함수를 사용한다.
리스트

>>> a=[1,2,3,4,5,6,7,8,9]
>>> len(a)
9


튜플

>>> b=(56,89,15,2)
>>> len(b)
4


range에서 n번째 요소 구하기

>>> a=range(0,10,2)
>>> a[2]
4

->인덱스 2 요소 출력

음수 인덱스

음수 인덱스

>>> a=[0,1,2,3,4]
>>> a[-1]
4
>>> a[-5]
0

음수 인덱스 -1은 객체의 가장 마지막 요소이다.

요소에 값 할당

시퀀스객체[인덱스]=값

>>> a=[0,0,0,0,0]
>>> a[0]=5
>>> a
[5, 0, 0, 0, 0]

del로 요소 삭제

del 시퀀스객체[인덱스]

>>> a=[0,1,2,3,4]
>>> del a[4]
>>> a
[0, 1, 2, 3]

인덱스 4인 4가 삭제되는것을 알 수 있다.
->리스트만 가능하고 튜플과 range, 문자열은 삭제할수 없다.

슬라이스

시퀀스객체[시작인덱스:끝인덱스]

>>> a=[0,1,2,3,4,5,6,7,8,9]
>>> a[0:7]
[0, 1, 2, 3, 4, 5, 6]

끝인덱스는 범위에 포함되지 않음

증가폭 사용
시퀀스객체[시작인덱스:끝인덱스:증가폭]

>>> a=[0,1,2,3,4,5,6,7,8,9]
>>> a[0:8:2]
[0, 2, 4, 6]

인덱스 0부터 인덱스가 2씩 증가한다.

인덱스 생략

시퀀스객체[:끝인덱스]
처음부터 끝인덱스 값까지

>>> a=[0,1,2,3,4,5,6,7,8,9]
>>> a[:7]
[0, 1, 2, 3, 4, 5, 6]


시퀀스객체[시작인덱스:]
시작인덱스부터 마지막까지

>>> a=[0,1,2,3,4,5,6,7,8,9]
>>> a[5:]
[5, 6, 7, 8, 9]


시퀀스객체[:]
리스트 전체를 가져옴

>>> a=[0,1,2,3,4,5,6,7,8,9]
>>> a[:]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

인덱스 생략하면서 증가폭 사용

시퀀스객체[:끝인덱스:증가폭]

>>> a=[0,1,2,3,4,5,6,7,8,9]
>>> a[:7:2]
[0, 2, 4, 6]


시퀀스객체[시작인덱스::증가폭]

>>> a=[0,1,2,3,4,5,6,7,8,9]
>>> a[5::2]
[5, 7, 9]


시퀀스객체[::증가폭]

>>> a=[0,1,2,3,4,5,6,7,8,9]
>>> a[::2]
[0, 2, 4, 6, 8]


len을 이용해서 슬라이싱

>>> a=[0,1,2,3,4,5,6,7,8,9]
>>> a[:len(a)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

len(a)는 10이기 때문에 리스트 전체를 가져온다.

슬라이스에 요소 할당

시퀀스객체[시작인덱스:끝인덱스] = 값

>>> a=[0,1,2,3,4,5,6,7,8,9]
>>> a[2:5] = ['a','b','c']
[0, 1, 'a', 'b', 'c', 5, 6, 7, 8, 9]

 

>>> a=[0,1,2,3,4,5,6,7,8,9]
>>> a[2:5] = ['a']
[0, 1, 'a', 5, 6, 7, 8, 9]

->요소가 줄어듦

>>> a=[0,1,2,3,4,5,6,7,8,9]
>>> a[2:5] = ['a','b','c','d','e']
[0, 1, 'a', 'b', 'c', 'd', 'e', 5, 6, 7, 8, 9]

->요소를 구겨넣어서 요소의 개수가 늘어남

>>> a=[0,1,2,3,4,5,6,7,8,9]
>>> a[2:8:2] = ['a','b','c']
[0, 1, 'a', 3, 'b', 5, 'c', 7, 8, 9]

->인덱스 2부터 2찍 증가시키면서 값 할당
#튜플, range, 문자열은 슬라이스 범위를 지정하더라도 요소 할당X

del로 슬라이스 삭제

del 시퀀스객체[시작인덱스:끝인덱스]

>>> a=[0,1,2,3,4,5,6,7,8,9]
>>> del a[2:5]
>>> a
[0, 1, 5, 6, 7, 8, 9]

인덱스 2, 3, 4값이 삭제된것을 알 수 있다.
#튜플, range, 문자열은 del로 삭제할수 없다.

딕셔너리

연관된 값을 묶어서 저장하는 용도로 사용한다.
딕셔너리={키1:값1, 키2:값2, 키3:값3}

>>> lux={'health':490,'mana':334,'melee':550,'armor':18.72}
>>> lux
{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}

키를 먼저 지정하고 :를 붙여 값을 표현한다.
키-값을 1:1대응해야한다.

>>> lux={'health':490,'health':900,'mana':334,'melee':550,'armor':18.72}
>>> lux
{'health': 900, 'mana': 334, 'melee': 550, 'armor': 18.72}

키가 중복되면 가장 뒤에 있는 값을 사용한다.
키에는 문자열, 정수, 실수, 불, 자료형을 섞어서 사용이 가능하다.
값에는 리스트, 딕셔너리등을 포함한 모든 자료형 사용이 가능하다
#키에는 리스트, 딕셔너리 사용 불가능

빈 딕셔너리 만들기

a={}
a=dict()

dict로 딕셔너리 만들기

딕셔너리=dict(키1=값1, 키2=값2)

>>> a=dict(health= 900, mana= 334)
>>> a
{'health': 900, 'mana': 334}


딕셔너리=dict([(키1,값1), (키2,값2)])

>>> a=dict([('health', 900), ('mana',334)])
>>> a
{'health': 900, 'mana': 334}


딕셔너리=dict({키1:값1, 키2:값2})

>>> a=dict({'health':900, 'mana':334})
>>> a
{'health': 900, 'mana': 334}

딕셔너리 키에 접근하기

딕셔너리[키]

>>> lux={'health':490,'health':900,'mana':334,'melee':550,'armor':18.72}
>>> lux['health'] 900

키에 값 할당하기

딕셔너리[키]=값

>>> lux={'health':490,'health':900,'mana':334,'melee':550,'armor':18.72} 
>>> lux['armor']=900 
>>> lux {'health': 900, 'mana': 334, 'melee': 550, 'armor': 900}


없는 키에 값을 할당하면 해당키가 추가되고 값이 할당됨

>>> lux={'health':490,'health':900,'mana':334,'melee':550,'armor':18.72} 
>>> lux['key']=123456789 
>>> lux {'health': 900, 'mana': 334, 'melee': 550, 'armor': 18.72, 'key': 123456789}

키가 딕셔너리 안에 있는지 확인하기

키 in 딕셔너리

>>> lux={'health':490,'health':900,'mana':334,'melee':550,'armor':18.72}
>>> 'health' in lux True 
>>> 'key' in lux False


키 not in 딕셔너리

>>> lux={'health':490,'health':900,'mana':334,'melee':550,'armor':18.72} 
>>> 'health' not in lux False 
>>> 'key' not in lux True

딕셔너리 키의 개수 구하기

len을 이용해서 구한다.
len(딕셔너리)

>>> lux={'health':490,'health':900,'mana':334,'melee':550,'armor':18.72} 
>>> len(lux) 4

 

'Emotion > 파이썬' 카테고리의 다른 글

함수_2  (0) 2020.08.26
파이썬 함수_1  (0) 2020.07.08
파이썬 반복문  (0) 2020.07.07
파이썬_3  (0) 2020.07.01
파이썬_1  (0) 2020.06.27
    'Emotion/파이썬' 카테고리의 다른 글
    • 파이썬 함수_1
    • 파이썬 반복문
    • 파이썬_3
    • 파이썬_1
    ursobad
    ursobad

    티스토리툴바