Python

채상혁·2022년 2월 23일
0

python

목록 보기
3/5

python : 3일차

  • replace()
  • strip()
  • swap()
  • split()
  • list
  • set
  • dict
  • tuple

replace() :

문자열 대체 메서드 replace()
특정 단어를 모두 찾아서 새로운 단어로 일괄 교체하는 메서드

strip() :

  • 문자열 공백 제거 메서드
  1. lstrip() : 왼쪽 공백 제거
  2. rstrip() : 오른쪽 공백 제거
  3. strip() : 양쪽 공백 제거

swap() :

문자열 알파벳 형태 변경 메서드
1. lower(): 영문 알파벳을 모두 소문자로 변경
2. upper(): 영문 알파벳을 모두 대문자로 변경
3. swapcase() : 영문 대소문자를 각각 반대로 변경
4. capitalize() : 문장의 맨 첫글자만 대문자, 나머지는 소문자.
5. title() : 각 단어의 맨 첫글자만 대문자, 나머지는 소문자.

split() :

구분자를 기준으로 문자열을 분할해서 리스트에 담아서 반환합니다
괄호 안을 비우면 공백을 구분자로 하여 분할.

list :

리스트는 여러 개의 값을 집합적으로 저장하기 위해
사용하는 파이썬의 자료형입니다.
다른 언어의 배열과 유사한 개념이며, 실제로 배열과
유사한 방식으로 데이터가 관리됩니다.

<[]> (대괄호) 안에 요소를 콤마로 구분하여 나열합니다.

리스트에 데이터를 추가하는 메서드.
1. append() : 요소를 리스트의 맨 마지막에 추가.
2. insert() : 요소를 리스트의 특정 위치에 삽입.

리스트를 다룰 때는 문자열과 비슷한 방식을 사용합니다.

pokemon = ['피카츄','라이츄','파이리','꼬부기','버터풀']

print(pokemon[2])
print(pokemon[1][2])
print(pokemon[4][:2])

# 리스트 슬라이싱 -> 리스트 데이터[begin:end:step]
nums = [0,1,2,3,4,5,6,7,8,9]
print(nums[2:5:1])
print(nums[1:7:2])

# 리스트는 인덱싱을 사용하여 변수처럼 내부의 값을 변경할 수 있습니다.
print('-' * 30)
print(nums)

nums[2] = 34
print(nums)

nums[7] = 88
print(nums)

nums[3] = nums[7]
print(nums)


'''
- 문자열은 상수 형태로 저장되는 고정형 리스트입니다.
- 따라서 인덱싱이나, 슬라이싱을 통해 값의 복사본을 활용하는 것은
가능하지만, 영역에 직접 접근해서 내부의 값을 편집할 수는 없습니다.

-문자열은 변경이 불가능한 자료형입니다. (immutable)
'''python

s = 'python'    
# s[2] = 'x' (x)


# unpackaging: 리스트 내부  요소를 다시 변수에 저장.
# pokemon = ['피카츄','라이츄','파이리','꼬부기','버터풀']

'''
p = pokemon[0]
r = pokemon[1]
c = pokemon[2]
s = pokemon[3]
b = pokemon[4]
'''
# 변수의 개수랑 리스트 내부의 요소의 개수를 맞춰주면 같다.
#좌항의 변수의 개수와 우항의 리스트의 요소의 개수가 일치한다면
#자동으로 변수에 리스트 내부 요소의 값들이 할당됩니다.
p, r, c, s, b = pokemon

#빈 리스트 만들기
list1 = []  

list2 = list()
print(list2)

리스트 내부 요소 삭제
1. remove() : 삭제할 값을 직접 지정하여 삭제
2. 내장함수 del() : 삭제할 요소의 인덱스를 통해 삭제합니다.
3. clear() : 리스트 내부 요소 전체 삭제.

리스트의 탐색과 정렬

  1. index() : 리스트에서 특정 값이 저장된 인덱스를 반환.
  2. count() : 리스트 내부에 저장된 특정 요소의 개수를 반환.
  3. sort() : 리스트를 오름차 정렬
  4. reverse() : 리스트 데이터를 역순으로 배치.

정렬과 역순으로 배치하고 싶다면 ->
sort(reverse=True) 값을 주면 된다. (오름차 정렬)

SET :

  • 집합은 여러 값들의 모임이며, 저장순서가 보장되지 않고
    중복값의 저장을 허용하지 않습니다.

  • 집합은 사전과 마찬가지로 {}로 표현하지만, key:value
    쌍이 아닌 데이터가 하나씩 들어간다는 점이 사전과는 다릅니다.

  • set()함수는 공집합을 만들기도 하며, 다른 컬렉션 자료를
    집합 형태로 변환할 수도 있습니다.

  • 집합은 변경 가능한 자료형이어서 언제든지 데이터를
    편집할 수 있습니다.

  • 집합에 요소를 추가할 때는 add() 메서드를 사용하고,
    제거할 때는 remove()를 사용합니다.

  • 집합의 연산
  1. 합집합(|): 두 집합의 전체 요소들의 모음(중복 제거)
  2. 교집합(&): 두 집합의 중복을 배제한 공통 요소들의 모음.
  3. 차집합(-): 왼쪽 집합에서 오른쪽 집합 요소를 제거
  4. 배타적 차집합(^): 합집합 - 교집합
  5. 부분집합 (<=): 왼쪽 집합이 오른쪽 집합의 부분집합인지를 검사.

TUPLE :

  1. 튜플을 만들 때는 ()를 생략할 수 있습니다.
  2. 튜플은 리스트와 마찬가지로 unpackaging이 가능합니다.
  3. 튜플로 가능한 문법 (내부 요소값을 바꾸지 않는 행위)
  4. 튜플로 불가능한 문법 (내부 요소값을 바꾸는 행위)
  5. 튜플이 지원하는 메서드는 index, count 뿐입니다.

튜플을 사용하는 이유

  • 튜플을 사용하는 이유
  • 튜플로 가능한 일은 리스트로도 모두 가능합니다.
    리스트는 튜플에 비해 요소를 편집하는 행위도 가능합니다.
  • 결국, 리스트는 튜플의 기능을 모두 포괄하는 더 큰 범위의
    타입이지만, 튜플을 사용해야 하는 이유는 존재합니다.
  1. 비용의 차이: 리스트는 변경의 가능성을 항상 대비해야 하기 때문에
    더 많은 메모리 공간을 차지하고, 속도도 그만큼 느립니다.
    이에 비해, 튜플은 값의 집합만 표현할 뿐, 바뀔 일이 없으므로
    내부 구조가 더 단순하고 속도도 더 빠릅니다.

  2. 데이터 안정성: 리스트는 실수로 내부 데이터가 의도치 않게
    바뀔 위험이 있지만, 튜플은 한 번 정해지면 바뀔 수가 없기 때문에
    실수할 위험이 적습니다.
    데이터베이스나 네트워크에서 얻은 데이터는 단순히 참조만 하면
    될 뿐, 편집할 일이 많지 않습니다.
    그렇기 때문에 리스트로 관리하는 것보다 튜플로 처리하는 것이
    안전합니다.

  3. 리스트와 상호 변경이 자유로움: 리스트와 튜플은
    값 변경 가능성 여부만 다를 뿐, 구조가 상당히 유사합니다.
    리스트를 튜플로 변환할 때는 내장함수 list()를 사용하고,
    튜플을 리스트로 변환할 때는 내장함수 tuple()을 사용합니다.

DICT:

사전 (Dictionary)

  • 사전은 키(key) 와 값(value) 의 쌍을 저장하는 대용량의 자료구조.

  • 사전은 Map이라고도 부르며 연관배열이라고도 부릅니다.

  • 사전을 정의하는 기호는 {} 이고, 괄호 안에 데이터를
    key : value 형태로 나열하여 저장합니다.

  • 사전에 사용되는 key 값은 중복값을 가질 수 없고, 변경도 안됩니다.

  • 반면에 value값은 중복을 허용하고 데이터를 자유롭게 편집할 수도
    있습니다.

  • 사전 내부에 저장된 데이터를 검색할 때는 인덱스 대신
    key를 사용합니다. (시퀀스 자료가 아닙니다)

  • 사전은 변경 가능한 자료형이어서 실행 중에 데이터의
    추가, 삭제, 수정 등의 편집을 자유롭게 진행할 수 있습니다.

  • 사전의 데이터 삭제 (내장함수 del을 사용)
    del(사전이름[k])
    key를 입력하면 같이 맵핑된 value도 함께 삭제됩니다

0개의 댓글