이번에 배운내용은 주로 collection을 배웠다. 합집합, 교집합,dictionary,list, tuple등을 배웠다. 다음 시간부터 코딩할 내용이 많아진다고 하니 빡세게 들어야겠다.
배운것
list: 저장순서 유지, 중복 허용, 변경 가능, 아무 데이터 타입을 넣을수 있다.
list1=[] //[]로 선언한다.
tuple: list와 동일하나, 변경이 불가능하다. tuple로 만드는것을 packing이라 한다.
tup1=() //()로 선언한다.
tuple의 list화
tup1=(1,2,3,4)
list_tup1=list(tup1)
list를 tuple로 바꾸는 것 역시 가능하다.
list1=[1,2,3,4,5]
tup_list=tuple(list1)
str타입을 list나 tuple화 시키는 것도 가능하다.
text1="testtest"
list(text1)
text1="testtest"
tuple(text1)
list도 인덱싱과 슬라이싱이 가능하다.
list의 함수
append(): 리스트 끝에 추가한다. 괄호 안에 들어가 있는것을 하나의 원소로 취급.
list1=[1,2,3,4]
list1.append(5) //출력: [1,2,3,4,5]
list1.append([6,7]) //출력:[1,2,3,4,5,[6,7]]
extend():리스트를 확장한다. 다만 int타입은 입력이 불가하다. extend()대신 +=연산자를 써도 된다.
a=[1,2,3]
b=[4,5,6]
a.extend(b) //출력 [1,2,3,4,5,6]
a.extend(7) //오류. int입력 불가
a.extend("a") //출력 [1,2,3,4,5,6,'a']
a+=b // a가 1열일때를 가정. 출력 [1,2,3,4,5,6]
insert(): list의 원하는 위치에 추가. 교체가 아니라 끼워넣는다.
a=[1,2,3,4,5]
a.insert(2,6) // 앞이 들어갈 위치, 뒤가 들어갈 부분,출력 [1,2,6,3,4,5]
remove(): 괄호 안의 값을 찾아내 삭제. 여러개일시, 인덱스가 가장 낮은것 하나만 지운다.
a=[1,2,3,1,2,3]
a.remove(1) //출력 [2,3,1,2,3]
b=[1,"Hello",2,3,"Hi"]
b.remove("Hello") //출력 [1,2,3,"Hi]
del: 함수가 아니라 키워드. 인덱스로 삭제한다. 슬라이싱을 이용해 범위로 삭제할 수 있다.
a=[1,2,3,4,5,6,7,8,9]
b=[1,2,3,3,4,5,6,7,8]
del a[3] //출력 [1,2,3,5,6,7,8,9]
del a[1:3] //출력 [1,5,6,7,8,9]
del b[::2] //출력 [2,4,6,8]
pop(): 원소를 반환후 삭제한다.
a=[1,2,3,4,5]
d=a.pop(2) //출력 d:3 a:[1,2,4,5]
index(): 괄호안의 값이 위치한 인덱스를 반환
a=[1,2,3,4,5,6]
a.index(3) //출력 2
in: 키워드. list내 해당 값이 존재하는지 bool로 반환.
a=[1,2,3,4,5,6]
print(2 in a) //출력 True
print(7 in a) //출력 False
list,tuple 복사
list1=[1,2,3]
list2=list1 //list1의 주소를 참조하기에 list2에서 값을 바꾸면 list1에서도 값이 바뀜/
list2=list1.copy() //cop()함수 사용시 list2에 list1의 값이 복사 되므로 list2의 값을 바꿔도 list1의 값이 바뀌지 않는다.
정렬
a.sort(reverse=True) //내림차순
a.sort(reverse=False) //오름차순
tuple unpacking
tuple의 원소를 각 변수에 할당
a,b,c,d=(1,2,3,4) //이때 변수와 tuple의 원소 개수가 같아야한다. a=1,b=2,c=3,d=4
_,a,__,b=(1,2,3,4) //쓰지 않는 원소는 변수를 "_"로 한다. 파이썬 관례
tup=((1,(2,3)),4,(5,6,7))
(a,(b,c)),d,(e,f,g)=tup
print(a,b,c,d,e,f,g) //출력: 1,2,3,4,5,6,7
'ICT COG Academy > AI 기본' 카테고리의 다른 글
ICT COG Academy 4일차(2) (0) | 2021.03.05 |
---|---|
ICT COG Academy 4일차(1) (0) | 2021.03.01 |
ICT COG Academy 3일차 (0) | 2021.03.01 |
ICT COG Academy 2일차(2) (0) | 2021.02.23 |
ICT COG Academy 1일차 (0) | 2021.02.20 |