리스트
리스트=[값,값,값]
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 |