- 항목의 인덱스는 0부터 시작
- 배열보다 기능이 많대
- 리스트에는 숫자, 문자, boolean 등 다양한 타입 가능
- 자동정렬
list[i_start:i_end]
list[::i_setp]
- 리스트와 유사하게 데이터 여러개를 하나로 묶는데 이용
- 숫자, 문자, boolea, 튜플, 세트, 딕셔너리등으로 만들 수 있음
- 속성은 리스트와 유사
- 데이터는 한 번 입력/생성하면 그 이후에는 항목을 변경할 수 없음
(항목 개별 수정이 불가)- 소괄호를 사용함
- 상수의 모음
tuple()
t1=(0,1,2,3,4)
t3 = 0, => 이건 튜플
t3 = 0 => 이건 변수
print(t1[2]) => 값을 가져오는건 ㅇㅇ
t1[2]=0 => Syntax error
t2 = (0,5) => 이건됨
- 수학의 집합 개념을 구현한 데이터타입
- 데이터의 순서가 없고 데이터를 중복해서 쓸 수 없음
- 교집합, 합집합, 차집합을 구하는 메서드를 사용할 수 있음
- 세트만들기 중괄호로('{}') 데이터를 감싸서 만듦
set1 ={1,2,3}
t1 = (0,1,2,3,4)
t2 = 0,1,2,3,4
t3 = 0,
print(t1)
print(t2)
print(t1[2])
print(t3)
s1={1,2,3,4,5}
s2={4,5,6,7,8,9,10,10}
print (s1)
print (s2)
````
{1, 2, 3, 4, 5}
{4, 5, 6, 7, 8, 9, 10} // 중복항목 걸러짐
s3={'a','b','b','c'}
print (s3)
````
세트의 교집합, 합집합, 차집합 함수
- intersection
- union
- difference : 얘만 기준 세트 순서 상관 ㅇㅇ
집합 연산자 | 설명 | 기호 표시 | 사용 예 |
---|---|---|---|
& | 교집합 | a n b | a & b |
\ | 합집합 | a \ b | a \ b |
- | 차집합 | a - b | a - b |
````
print (s1.intersection(s2))
print (s1.union(s2))
print (s1.difference(s2))
print (s2.difference(s1))
````
출력값
````
{4, 5}
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
{1, 2, 3}
{6, 7, 8, 9, 10}
print (s1 & s2)
print (s1 | s2)
print (s1 -s2 )
print (s2 - s1)
````
{4, 5}
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
{1, 2, 3}
{6, 7, 8, 9, 10}
a = [1,2,3,4,5]
type(a)
b = tuple(a)
a = [1,2,3,4,5,5,5,5]
print (type(a))
print (a[0])
a = tuple(a)
print (type(a))
print (a[0])
a = set(a)
print (type(a))
print (a[0])
<class 'list'>
1
<class 'tuple'>
1
<class 'set'>
TypeError
a = tuple(a)
a[0]=10
TypeError: 'set' object is not subscriptable
a = list(a)
a[1]=10
print (a)
<class 'set'>
[1, 10, 3, 4, 5]
- 튜플 : 게임에서 아이템 속성들을..
- 세트 : 기상청 데이터 중 지역이 겹칠 때. ..
- 다양한 데이터 형식을 다룰 때 파이썬이 특화됨
- 사전이 구성 : 표제어가 있고 그에 대한 설명/ 표제어만 찾으면 그에 대한 설명을 전부 확인할 수 있음
- 파이썬의 딕셔너리도 사전과 유사하게 구성돼 있으며 사전의 표제어와 설명은 파이썬에서 키와 값에 해당 (key:value)
- 키와 값이 항상 쌍으로 구성, 키를 알면 해당하는 값을 쉽게 알 수 있음
- 딕셔너리는 인덱스 대신 키를 이용해 값을 다움
- 딕셔너리의 키는 임의로 지정한 숫자나 문자열이 될 수 있으며, 값으로는 어떤 데이터 타입도 사용 가능
- 데이터 전체를 중괄호로 감싸서 만듦
- 키와 값의 구분은 콜론(:)
- 키와 값으로 이뤄진 각 쌍은 콤마로(,)구분
counrty_capital = {
"영국":"런던",
"프랑스":"파리",
"스위스":"베른",
"호주":"멜버른",
"덴마크":"코펜하겐"
}
print (counrty_capital)
print (counrty_capital["스위스"])
counrty_capital['스위스']='안가봄'
print (counrty_capital["스위스"])
값 추가하기
counrty_capital["한국"]="서울"
print (counrty_capital["한국"])
출력값
{'영국': '런던', '프랑스': '파리', '스위스': '베른', '호주': '멜버른', '덴마크': '코펜하겐'}
베른
안가봄
서울
값 삭제하기 (list에서도 동일하게 쓸 수 있음)
del counrty_capital["한국"]
print (counrty_capital)
출력값
{'영국': '런던', '프랑스': '파리', '스위스': '안가봄', '호주': '멜버른', '덴마크': '코펜하겐'}
단점 key를 모르면 아무고토 할 수 없음
극복
print (counrty_capital.keys())
dict_keys(['영국', '프랑스', '스위스', '호주', '덴마크'])
함수명 | 기능 |
---|---|
key() | 딕셔너리에서 키 전체를 리스트 형태로 변환 |
values() | 딕셔너리에서 값 전체를 리스트 형태로 변환 |
items() | 딕셔너리에서 키와 값의 쌍을 튜플 형태로 반환 |
update() | 딕셔너리에 딕셔너리 데이터 추가 |
clear() | 모든 딕셔너리 삭제 |
d2 = {'일본':'도쿄','중국':'베이징'}
counrty_capital.update(d2)
print (counrty_capital)
{'영국': '런던', '프랑스': '파리', '스위스': '안가봄', '호주': '멜버른', '덴마크': '코펜하겐', '일본': '도쿄', '중국': '베이징'}
```
counrty_capital.clear()
print (counrty_capital)
d2 = {0:'가',1:'나',3:'다'}
print (d2[0])
- 조건에 따라 분기하는 if문
- 지정한 조건에 따라 다르게 분기해 명령을 수행
- 조건의 만족 여부에 따라 코드 수ㅐㅇ 결과가 달라짐
- 단일.,.,.,.,.,조건..,.,.,
if <조건>
~코드블록~
실행
a = 90;
if a > 80 :
print ("맞아용")
print ("종료")
출력값
맞아용
조건문 종료
a = 70;
if a > 80 :
print ("맞아용")
print ("종료")
출력값
조건문 종료 => 공백이 없기때문에 if문에 종속되지 않아 무조건 실행되는 코드.,.,
a = 90;
if a > 80 :
print ("맞아용.")
else :
print ("틀려.")
print ("조건문 종료")
출력값
맞아용
조건문 종료
a = 77;
if a > 80 :
print ("합격입니다.")
elif a > 75 and a < 80:
print ("예비 1번 입니다.")
elif a > 70 and a < 75:
print ("예비 2번 입니다.")
else :
print ("탈락입니다.")
print ("조건문 종료")
: 위에는 버그 발생 코드인 거 알쥐
출력값
예비 1번 입니다.
조건문 종료
조건문안에 또 다른 조건문을 사용한 구조
a = 77;
if a > 80 :
if a >= 90 :
print ("수석 합격입니다.")
else :
print ("합격입니다.")
elif a > 70 :
if a >- 75 :
print ("예비 1번 입니다.")