[이코테 2021] 1. 파이썬 문법 부수기(2/3)

Yewon Kim·2022년 7월 4일
0

CodingTest

목록 보기
2/22
post-thumbnail

🔊본 포스팅은 '(이코테 2021) 이것이 취업을 위한 코딩 테스트다 with 파이썬' 유튜브 강의를 수강하고 정리한 글입니다.

1. 문자열 자료형


  • 문자열 변수를 초기화할 때는 큰따옴표(")나 작은 따옴표(')를 이용한다.
  • 문자열 안에 큰따옴표나 작은따옴표가 포함되어야 하는 경우가 있다.
1.전체 문자열을 큰따옴표로 구성하는 경우, 내부적으로 작은따옴표를 포함할 수 있다.
2.전체 문자열을 작은따옴표로 구성하는 경우, 내부적으로 큰따옴표를 포함할 수 있다.
3.혹은 백슬래시(\)를 사용하면, 큰따옴표나 작은따옴표를 원하는 만큼 포함시킬 수 있다.
data = 'Hello World'
print(data)

data = "Don't tou know \"Python\"?"
print(data)

[실행 결과]

Hello World
Don't you know "Python"?

문자열 연산

  • 문자열 변수에 덧셈(+)을 이용하면 문자열이 더해져서 연결(Concatenate)된다.
  • 문자열 변수를 특정한 양의 정수와 곱하는 경우, 문자열이 그 값만큼 여러 번 더해진다.
  • 문자열에 대해서도 마찬가지로 인덱싱과 슬라이싱을 이용할 수 있다.
    문자열은 특정 인덱스의 값을 변경할 수 없다.(Immutable)
a = "Hello"
b = "World"
print(a+" "+b)

a = "String"
print(a*3)

a = "ABCDEF"
print(a[2:4])

[실행 결과]

Hello World
StringStringString
CD

2. 튜플 자료형


  • 튜플 자료형은 리스트와 유사하지만 다음과 같은 문법적 차이가 있다.
    튜플은 한 번 선언된 값을 변경할 수 없다.
    리스트는 대괄호([])를 이용하지만, 튜플은 소괄호(())를 이용한다.
  • 튜플은 리스트에 비해 상대적으로 공간 효율적이다.
a = (1,2,3,4,5,6,7,8,9)

# 네 번째 원소만 출력
print(a[3])

# 두 번째 원소부터 네 번째 원소까지
print(a[1:4])

[실행 결과]

4
(2,3,4)

튜플을 사용하면 좋은 경우

1.서로 다른 성질의 데이터를 묶어서 관리해야 할 때
2.데이터의 나열을 해싱(Hashing)의 키 값으로 사용해야 할 때
3.리스트보다 메모리를 효율적으로 사용해야 할 때

3. 사전 자료형


  • 사전 자료형은 키(key)와 값(value)의 쌍을 데이터로 가지는 자료형이다.
  • 사전 자료형은 키와 값의 쌍을 데이터로 가지며, 원하는 '변경 불가능한(Immutable) 자료형'을 키로 사용할 수 있다.
  • 파이썬의 사전 자료형은 해시 테이블을 이용하므로 데이터의 조회 및 수정에 있어서 O(1)의 시간에 처리할 수 있다.
data = dict()
data['사과'] = 'Apple'
data['바나나'] = 'Banana'
data['코코넛'] = 'Coconut'

print(data)

if '사과' in data:
    print("'사과'를 키로 가지는 데이터가 존재한다.")

[실행 결과]

{'사과':'Apple', '바나나':'Banana', '코코넛':'Coconut'}
'사과'를 키로 가지는 데이터가 존재합니다.

사전 자료형 관련 메서드

  • 사전 자료형에서는 키와 값을 별도로 뽑아내기 위한 메서드를 지원한다.
    키 데이터만 뽑아서 리스트로 이용할 때는 keys() 함수를 이용한다.
    값 데이터만을 뽑아서 리스트로 이용할 때는 values() 함수를 이용한다.
data = dict()
data['사과'] = 'Apple'
data['바나나'] = 'Banana'
data['코코넛'] = 'Coconut'

# 키 데이터만 담은 리스트
key_list = data.keys()
# 값 데이터만 담은 리스트
value_list = data.values()
print(key_list)
print(value_list)

# 각 키에 따른 값을 하나씩 출력
for key in key_list:
    print(data[key])

[실행 결과]

dict_keys(['사과','바나나','코코넛'])
dict_values(['Apple','Banana','Coconut'])
Apple
Banana
Coconut

4. 집합 자료형


  • 집합은 중복을 허용하지 않고, 순서가 없다.
  • 집합은 리스트 혹은 문자열을 이용해서 초기화할 수 있다.
  • 혹은 중괄호({})안에 각 원소를 콤마(,)를 기준으로 구분하여 삽입함으로써 초기화할 수 있다.
  • 데이터의 조회 및 수정에 있어서 O(1)의 시간에 처리할 수 있다.
data = set([1,1,2,3,4,4,5])
print(data)

data = {1,1,2,3,4,4,5}
print(data)

[실행 결과]

{1,2,3,4,5}
{1,2,3,4,5}

집합 자료형의 연산

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

# 합집합
print(a|b)

# 교집합
print(a&b)

# 차집합
print(a-b)

[실행 결과]

{1,2,3,4,5,6,7}
{3,4,5}
{1,2}

집합 자료형 관련 함수

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}
{1,2,3,4}
{1,2,3,4,5,6}
{1,2,4,5,6}

5. 기본 입출력


  • 모든 프로그램은 적절한 입출력 양식을 가지고 있다.
  • 프로그램 동작의 첫 번째 단계는 데이터를 입력 받거나 생성하는 것이다.

자주 사용되는 표준 입력 방법

  • input() 함수는 한 줄의 문자열을 입력 받는 함수이다.
  • map() 함수는 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용한다.
    예시) 공백을 기준으로 구분된 데이터를 입력 받을 때는 다음과 같이 사용한다.
list(map(int, input().split()))

빠르게 입력 받기

  • 사용자로부터 입력을 최대한 빠르게 받아야 하는 경우가 있다.
  • 파이썬의 경우 sys 라이브러리에 정의되어 있는 sys.stdin.readline() 메서드를 이용한다.
    단, 입력 후 엔터(Enter)가 줄 바꿈 기호로 입력되므로 rstrip() 메서드를 함께 사용한다.
import sys

# 문자열 입력 받기
data = sys.stdin.readline().rstrip()
print(data)

자주 사용되는 표준 출력 방법

  • 파이썬에서 기본 출력은 print() 함수를 이용한다.
    각 변수를 콤마(,)를 이용하여 띄어쓰기로 구분하여 출력할 수 있다.
  • print()는 기본적으로 출력 이후에 줄 바꿈을 수행한다.
    줄 바꿈을 원치 않는 경우 'end' 속성을 이용할 수 있다.
a = 1
b = 2
print(a, b)
print(7, end=" ")
print(8, end=" ")

[실행 결과]

1 2
7 8

f-string 예제

  • 파이썬 3.6부터 사용 가능하며, 문자열 앞에 접두사 'f'를 붙여 사용한다.
  • 중괄호 안에 변수명을 기입하여 간단히 문자열과 정수를 함께 넣을 수 있다.
answer = 7
print(f"정답은 {answer}입니다.")

[실행 결과]

정답은 7입니다.

0개의 댓글