교육 정보
- 교육 명: 경기미래기술학교 AI 교육
- 교육 기간: 2023.05.08 ~ 2023.10.31
- 오늘의 커리큘럼: 빅데이터 기초 활용 역량 강화 (5/10~6/9) - 파이썬 프로그래밍
- 강사: 조미정 강사님 (빅데이터, 머신러닝, 인공지능)
- 강의 계획:
1. 파이썬 언어 기초 프로그래밍
2. 크롤링 - 데이터 분석을 위한 데이터 수집(파이썬으로 진행)
3. 탐색적 데이터 분석, 분석 실습
- 분석은 파이썬만으로는 할 수 없으므로 분석 라이브러리/시각화 라이브러리를 통해 분석
4. 통계기반 데이터 분석
5. 미니프로젝트
여러 데이터가 순서대로 들어있는 시퀀스 자료형
요소 (element) : 리스트에 들어 있는 각각의 값
시퀀스 자료형의 종류 : List, Tuple, Range
기호를 이용하여 생성
#예제 실습
ppl=['ppl1', 'ppl2','ppl3']
print(ppl)
print(type(ppl))
['ppl1', 'ppl2', 'ppl3']
<class 'list'>
#다양한 자료형이 리스트의 요소로 들어갈 수 있음
#리스트 안에 리스트가 있는 경우 중첩 리스트라고 함
word1 = "is"
word2 = "nice"
my_list = ["my", "list", word1, word2, [another, list]]
print(my_list)
#예제 실습
#CRUD: create, read, update, delete
#리스트 내에는 변수가 요소로 들어갈 수 있음
word1 = "Hello"
word2 = "world"
word_list = ["oh","my",word1, word2]
순서가 있는 데이터의 집합이므로 값의 중복을 허용
various_list = [1.0, 234,"word",word_list]
숫자, 문자열, 리스트 등 다양한 자료형의 데이터를 넣을 수 있음
상대적인 주소로 각 요소에 접근
0 부터 시작
리버스 인덱스
변수명[인덱스] 형식
word_list = ["oh","my",word1, word2]
various_list = [1.0, 234,"word",word_list]
print(various_list[0])
print(various_list[1])
print(various_list[2])
print(various_list[3])
print(various_list[-1])
print(various_list[-3])
리스트 잘라내기
서브 리스트로 만듦
변수명[시작인덱스:끝인덱스] 형식
시작 인덱스 요소 포함, 끝 인덱스 요소 제외
인덱스 생략 가능
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[0:3])
print(players[1:4])
print(players[:4])
print(players[2:])
인덱스 증가폭 지정
various_list = [1.0, 234,"word",word_list]
print(various_list[:])
print(various_list[::-2])
print(various_list[3:0:-1])
인덱싱으로 특정 위치에 새로운 값을 할당
various_list = [1.0, 234,"word",word_list]
various_list[0] = 2.0
print(various_list)
various_list[0:2] = ["num1", "num2"]
print(various_list)
various_list[::-1] = ["num1", "num2", 3, 4]
print(various_list)
various_list[1::-1] = ["num3", "num4"]
#various_list[-2::-1] = ["num3", "num4"]
print(various_list)
append() 함수
various_list = [1.0, 234,"word",word_list]
various_list.append("added")
print(various_list)
[1.0, 234, 'word', ['oh', 'my', 'Hello', 'world'], 'added']
empty_list = []
insert() 함수
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(0, 'ducati')
print(motorcycles)
motorcycles.insert(2, 'aprillia')
print(motorcycles)
인덱스로 특정 위치의 요소 제거
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
del motorcycles[0]
print(motorcycles)
함수의 반환값 : 꺼낸 요소의 값
원본에서는 해당 요소가 제거됨
list_pop = ['a','b','c']
list_popped = list_pop.pop()
print(list_pop)
print(list_popped)
print(list_pop)
['a', 'b']
c
['a', 'b']
요소의 값을 찾아 제거
앞에서부터 하나씩 제거됨
list_remove_test=['a','b','c','a','a','b']
print(list_remove_test)
list_remove_test.remove('a')
print(list_remove_test)
list_remove_test.remove('a')
print(list_remove_test)
list_remove_test.remove('a')
print(list_remove_test)
list_remove_test.remove('a') #없으면 이렇게 오류 남
print(list_remove_test)
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
motorcycles = motorcycles + ['hollydavison', 'bmw']
멤버쉽 연산자 : in, not in
cars = ["a","b","c"]
print("a" in cars)
print("b" not in cars)
sort()
#cmj : print(cars.sort()) 안됨
cars.sort(reverse=True) # 알파벳 역순 정렬
print(cars)
cars.sort() # 알파벳 순 정렬
print(cars)
cars.sort(key=len) # 길이순 정렬
print(cars)
cars.sort(key=len, reverse=True) # 길이 역순 정렬
print(cars)
cars = ['bmw', 'audi', 'toyota', 'hyundai']
print(cars)
cars.reverse() # 원래 순서의 역순
print(cars)
cars = ['bmw', 'audi', 'toyota', 'hyundai']
print(len(cars))
cars = ['bmw', 'audi', 'toyota', 'hyundai']
print(cars.count("audi"))
print(cars.count("Hello"))
cars = ['bmw', 'audi', 'toyota', 'hyundai']
print(cars)
cars.clear()
print(cars)
cars = ['bmw', 'audi', 'toyota', 'hyundai']
print(bool(cars))
cars.clear()
print(bool(cars)) #리스트가 완전히 빈 경우 false
list_num = [1,2,3,4,5]
print(max(list_num))
print(min(list_num))
print(sum(list_num))
*아스타를 사용
list_1=['a','b','c','d','e']
list_2=[*list_1]
['a', 'b', 'c', 'd', 'e']
['a', 'b', 'c', 'd', 'e']
sentence = input("영어문장 :")
sentence_list = sentence.split()
#한줄로는 이렇게 작성 가능 list_a = list(input("영어문장:").split(" "))
print("list: ",sentence_list)
remove_word=input("제거할 단어 :")
removed_index=sentence_list.index(remove_word)
sentence_list.remove(remove_word)
sentence_list.insert(removed_index,input("추가할 단어 :"))
sentence_string = " ".join(sentence_list)
print(sentence_string)
영어문장 :cake is so good
list: ['cake', 'is', 'so', 'good']
제거할 단어 :so
추가할 단어 :very
cake is very good
#입력받은 문장 바로 리스트로 저장하는 예시
list_a = input("영어문장:").split(" ")
list_b = list(input("영어문장:").split(" "))
print(list_a,list_b)
영어문장:a s d f
영어문장:f d s a
['a', 's', 'd', 'f', ''] ['f', 'd', 's', 'a', '']