[Python][문법] 이코테 강의정리(1)

동글이·2022년 5월 21일
0

Python

목록 보기
1/6

✔ 공부 정리

이코테 강의 1 :

- 튜플


- 사전 자료형

  • 사전 자료형 : 키(key)와 값(Value)의 쌍을 데이터로 가지는 자료형

  • 키 데이터만 뽑아서 리스트로 이용할 때는 keys() 함수

  • 값 데이터만을 뽑아서 리스트로 이용할 때는 values() 함수

  • ex)

#저장 방법1
data = dict()
data['사과'] = 'Apple'
data['바나나'] = 'Banana'
data['코코넛'] = 'Coconut'

#저장 방법2
data2 = {
    '사과' : 'Apple',
    '포도' : 'Graph',
    '배' : 'bear'
}

print(data)
print(data2)

if '사과' in data:
    print("'사과'를 키로 가지는 데이터가 존재합니다.")
    
# 키 데이터만 담은 리스트
key_list = list(data.keys())
# 값 데이터만 담은 리스트
value_list = list(data.values())
print(key_list)
print(value_list)

#각 키에 따른 값을 하나씩 출력
for key in key_list:
    print(data[key])
{'사과': 'Apple', '바나나': 'Banana', '코코넛': 'Coconut'}
{'사과': 'Apple', '포도': 'Graph', '배': 'bear'}
'사과'를 키로 가지는 데이터가 존재합니다.
['사과', '바나나', '코코넛']
['Apple', 'Banana', 'Coconut']
Apple
Banana
Coconut

- 집합 자료형

  • ex)
# 집합 자료형 초기화 방법 1
data = set([1, 1, 2, 3, 4, 4, 5])
print(data)

# 집합 자료형 초기화 방법 2
data = {1, 1, 2, 3, 4, 4, 5}
print(data)

a = set([1, 2, 3, 4, 5])
b = set([3, 4, 5, 6, 7])

# 합집합
print(a|b)

# 교집합
print(a&b)

# 차집합
print(a-b)

data = set([1, 2, 3])
print(data)

# 새로운 원소 추가
data.add(4)
print(data)

# 새로운 원소 여러 개 추가
data.update([5, 6])
print(data)

# 특정한 값을 갖는 원소 삭제
data.remove(3)
print(data)
결과 : 
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5, 6, 7}
{3, 4, 5}
{1, 2}
{1, 2, 3}
{1, 2, 3, 4}
{1, 2, 3, 4, 5, 6}
{1, 2, 4, 5, 6}

- 기본 입출력

  • input() : 한 줄의 문자열을 입력 받는 함수
  • map() : 리스트의 모든 원소에 각각 특정한 함수를 적용할 때
  • ex)
    list(map(int, input().split())) 💛
    a, b, c = map(int, input().split())
  • 입력을 최대한 빠르게 받아야 하는 경우(ex: 이진탐색, 정렬, 그래프 관련 문제)
    sys.stdin.readline() 매서드 이용
    단, 입력 후 엔터(Enter)가 줄 바꿈 기호로 입력되므로 rstrip() 메서드를 함께 사용
  • ex)
import sys

#문자열 입력 받기(한 줄 쭉 입력 받기)
data = sys.stdin.readline().rstrip()
print(data)
  • 줄바꿈 원하지 않으면 'end' 사용
  • ex)
a = 1
b = 2
print(a, b)
print(7, end=" ")
print(8, end=" ")

# 출력할 변수
answer = 7
print("정답은 " + str(answer) + "입니다.")
결과 :
1 2
7 8 정답은 7입니다.

- 조건문

  • 기타 연산자
    x in 리스트 : 리스트 안에 x가 들어가 있을 때 참(True)이다.
    x not in 문자열 : 문자열 안에 x가 들어가 있지 않을 때 참(True)이다.
    => 리스트, 튜플, 문자열, 딕셔너리 모두에서 사용 가능
  • pass 키워드
score = 85

if score >= 80:
    pass # 나중에 작성할 소스코드
else:
    print('성적이 80점 미만이니다.')
    
print('프로그램을 종료합니다.')
  • 조건부 표현식(if ~ else 문 한줄에 작성하는 법)
score = 85
result = "Sucess" if score >= 80 else "Fail"

print(result)

- 함수

  • global 키워드
    사용하기 전에 그 함수 안에 선언 시켜주어야함!
    but, 단순히 값 참조 할때는 선언 안해주어도 됨!
    함수 안에서의 선언의 우선순위는 지역변수임!(밖에서는 전역변수)
a = 10

def func():
    global a
    a+=1
    print(a)
    
func()  #print 11

- 람다(lambda) 표현식

  • 많이 사용하는 방식 예시 :
    - 내장 함수에서 자주 사용되는 람다 함수

    - 여러 개의 리스트에 적용

- 실전에서 유용한 표준 라이브러리

  • sum(), min(), max(), eval(), sorted(), sorted() with key
  • 순열과 조합 : itertools
  • Counter
  • 최대 공약수와 최소 공배수 :
  • 팩토리얼, 제곱근, 원주율 등등등~

✔ 한 일 점검

  • 백준 or 프로그래머스 - 1문제 이상
  • 스프링 - 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 끝내기
  • 파이썬 - 이코테로 문법 정리

✔ 내일 목표

  • 백준 or 프로그래머스 - 1문제 이상
  • 스프링 - 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 끝내기
  • 파이썬 - 이코테 강의2
  • 빅데시 발표 대본 작성

✔ 주저리

  • 다시 시작하자..! 팟팅
  • 상품 도메인 개발 부터 시작
  • 이코테 빠르게 마스터
  • 졸작 개발도 슬슬..
  • 람다 표현식 부분이 이해가 잘 안감...
profile
기죽지 않는 개발자

0개의 댓글