# 3. APS/알고리즘 노트

Python Syntax (파이썬 기초 문법)

둥굴둥굴둥굴레차 2021. 10. 19. 18:09

String

 

조회

# x의 첫 번째 위치 반환. 없으면 -1 리턴
.find(x) 

# x의 첫 번째 위치 반환. 없으면 오류 발생시킴
.index(x)

 

바뀐 결과의 String을 리턴

# 바꿀 대상 글자를 새로운 글자로 바꿔서 반환.
# count를 지정하면 해당 갯수만큼만 시행.
.replace(old, new[, count])

# 특정한 문자를 양쪽에서 제거하거나 왼쪽에서 제거하거나(lstrip), 오른쪽을 제거(rstrip).
# 지정하지 않으면 공백을 제거
.strip([chars])

# 문자열을 특정한 단위로 나누어 리스트로 반환
.split(sep=None)

# 앞글자를 대문자로 만들어 반환
.capitalize()

# 어포스트로피나 공백 이후를 대문자로 만들어 반환
.title()

# 모두 대문자/소문자로 만들어 반환
.upper()
.lower()

# 대 <-> 소문자로 변경하여 반환
.swapcase()

 

 

list

 

조회

# 원하는 값의 개수를 확인
.count(x)

# x값을 찾아 해당 index 값을 반환
.index(x)

 

list를 변경

# 리스트에 값을 그대로 추가
.append(x)

# 리스트에 iterable 항목을 추가
.extend(iterable)

# index를 지정해 값을 추가
# 기존의 값은 뒤로 밀어내고 추가한다.
.insert(i, x)

# 리스트에서 값이 x인 것을 영구적으로 삭제
.remove(x)

# index로 요소를 영구적으로 삭제 후 해당 요소값 리턴
# index 지정되지 않으면 마지막 항목 삭제 후 리턴
.pop(index)

# 리스트의 모든 항목을 영구적으로 삭제
.clear()

# 리스트를 영구적으로 정렬
.sort()

# 리스트 값을 영구적으로 거꾸로 뒤집음.
.reverse()

 

 

set

순서가 없고 중복된 값이 없다.
따라서 set을 활용하면 list의 중복된 값을 쉽게 제거할 수 있다.
또한 set을 만드려면 set()을 사용해야만 한다. {}로 사용 불가능!
 

 

set를 변경

# elem을 세트에 추가
.add(elem)

# 여러가지의 값을 추가
# 인자로는 반드시 iterable 데이터 구조를 전달해야함
.update(*others)

# elem을 세트에서 삭제하고, 없으면 KeyError가 발생
.remove(elem)

# elem을 세트에서 삭제하고 없어도 에러가 발생하지 않음
.discard(elem)

# 임의의 원소를 제거해 반환
.pop()

 

 

dictionary

 

조회

# key를 통해 value를 가져온다.
.get(key[, default])

 

dictionary를 변경

.pop(key[, default])
.update()

 

 


 

파이썬에서 표현할 수 있는 가장 큰 수

import sys
maximum = sys.maxsize

print(maximum) # 9223372036854775807

 

str.format()을 활용하여 String interpolation 

name = 'sohyun'
score = 100

print('Hello, {}. 내 성적은 {}'.format(name, score))
# Hello, sohyun. 내 성적은 100

 

Built-in Function

zip(*iterables)

girls = ['jane', 'ashley', 'mary']
boys = ['justin', 'eric', 'david']

pair = list(zip(girls, boys))

print(pair)
# [('jane', 'justin'), ('ashley', 'eric'), ('mary', 'david')]

 


 

Sequence 형 : 순서가 존재하는 데이터

  • list
  • tuple
  • range
  • string
  • binary

Non-sequence 형 : 순서가 없는 데이터

  • set
  • dictionary

 


 

Mutable 데이터 : 변경이 가능한 데이터

  • list
  • dict
  • set

 

Immutable 데이터 : 변경이 불가능한 데이터

  • tuple()
  • range()
  • literal
    - 숫자
    - string
    - boolean

 

slicing

# i부터 j-1까지 slicing
s[i:j]

# i부터 j-1 까지 k의 간격으로 slicing
s[i:j:k]

 

.sort()와 sorted(x)

#원본을 바꿔버리고 return값 없음
.sort() 

#원본은 변화없으나 변화된 값은 return해준다.
#따라서 변화된 값을 활용하기 위해서는 결과를 다른 변수값에 저장해서 써야한다.
sorted(x)