파이썬 까먹은거

박진은·2022년 5월 5일
0

자료구조

목록 보기
2/37

파이썬 까먹은거

자료구조를 파이썬으로 공부하는데 파이썬 문법을 까먹어서 모르는 것만 정리

s.strip([chars]) - 공백이나 선택된 문자 chars를 문자열에서 제거함
s.split([seperator],[chars]) - 공백이나 seperator로 주어진 문자로 문자열을 분리함. 문자열의 리스트를 반환함
s.replace(” “, “”) 1번째 주어진 문자열을 두번째 주어진 문자열로 교체하는 메서드

리스트

메소드

  • s.append(item) - llist 뒤에 item 추가
  • s.extend(lst) - list s 뒤에 다른 리스트인 lst 추가
  • s.count(item) - s 리스트에서 항목 item의 개수를 세고 그 개수를 반환한다.
  • s.insert(pos, item) - list에서 pos위치에 item을 삽입한다.
  • s.pop(pos) - pos 위치에 항목을 s에서 꺼내고 반환한다. - list 에서 그 항목이 삭제 된다.
  • s.remove(item) - 항목 item을 s에서 제거한다.
  • s.reverse() - 리스트 항목의 순서를 뒤집는다.
  • s.sort([key],[reverse]) - 항목을 정렬한다. - key는 함수가 들어가 이 함수의 return을 기준으로 list를 만든다.
  • • 내림차순 정렬 : sort(reverse=True) - list를 정렬한 후에 다시 reverse() 실행할 이유가 없고 이를 한번에 실행 가능하다

튜플

리스트와 같이 자료형에 상관없이 데이터를 담을 수 있지만 사이즈가 가용적이지 않아 메모리 측면에서 매우 효휼적이다.

딕셔너리

키와 값으로 이루어진 사전구조이다.

map = {’박진은':20181172, ‘주민번호':990301}

print(map)하면 실행결과는 다음과 같다.

{'박진은': 20181172, '주민번호': 990301}
map['영어이름'] = "qkrwlsdms" - map -- qkrwlsdms을 넣는다.
print(map['박진은'])->20181172// map에서 얻는 방법
'키값' in map ---> boolean값 리턴

map.keys() --> key값을 가지고 있는 set 반환
map.values() --> values 를 반환

enumerate() 함수

그럼 어떻게 해야 좀 더 파이썬답게 인덱스(index)와 원소를 동시에 접근하면서 루프를 돌릴 수가 있을까요? 🐍

바로 파이썬의 내장 함수인 enumerate()를 이용하면 되는데요. for 문의 in 뒷 부분을 enumerate() 함수로 한 번 감싸주기만 하면 됩니다.

>>> for entry in enumerate(['A', 'B', 'C']):
...     print(entry)
...
(0, 'A')
(1, 'B')
(2, 'C')

enumerate() 함수는 기본적으로 인덱스와 원소로 이루어진 터플(tuple)을 만들어줍니다. 따라서 인덱스와 원소를 각각 다른 변수에 할당하고 싶다면 인자 풀기(unpacking)를 해줘야 합니다.

>>> for i, letter in enumerate(['A', 'B', 'C']):
...     print(i, letter)
...
0 A
1 B
2 C

집합

  • set - 원소의 중복을 허용하지않고 원소들 사이에 순사가 존재않는다 set은 내용을 변경이 가능한 자료구조이다.
  • frozenset - 집합이지만 내용을 변경할 수없는 자료
s1 = {1,2,3,4}
s2 = {3,4,5,6,7}

s3 = s1.union(s2) # 합집합
s4 = s1.intersection(s2) # 교집합
s5 = s1 -s2 # 차집합

print(s3)
print(s4)
print(s5)

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

반환값

파이썬의 메소드는 여거개의 반환값을 한번에 return하는게 가능한데이게 진짜 존나 버그나

def max_min(A):
    return max, min -- 이렇게 한번에 반환하는 것이 가능하다

반면에 이를 받을 때도

x, y = max_min(data)
위와 같이 느작없이 받는 것이 가능하다.
하지만 이것 외에도
return (max,min)
위와 같이 튜플형태로 반환하면 
(x,y) = max_min(a) 이렇게 받는 것이 가능하다

생성자

파이썬의 생성자는 클래스 이름에 관계없이 모두 init 이다 하지만 클래스를 선언할 때 클래스 내부에서만 작성을 이렇게 하고 클래스 밖에서는 모두 클래스 명을 생성자로 한다 다른언어와 마찬가지로 선언할 때는 반환값이없는 클래스 이름을 생성자로 사용한다.

  • self 파라미터로 전달되는 이 파라미터는 함수를 호출하는 자신의 객체를 가르키는 인스턴스이며 파이썬에서는 이 self 가 붙지 않으면 전부다 지역변수이다,아니면 매개 변수 이거나

  • 연산자 중복 파이썬의 클래스에서는 연산자 중복이라 아주 간편한 기능을 오버라이딩을 통해서 사용이 가능한다.

class gstring:

def __init__(self,init=None): #생성자

    self.content=init

def __sub__(self,str): #'-'연산자중복정의

    for i in str:

        self.content=self.content.replace(i,'')

    return gstring(self.content)

def Remove(self,str): #Remove메서드는 '-'연산자중복과 동일하기에 '__sub__'를 재호출

    return self.__sub__(str)

>수치연산자

제목 없음

비교연산자

시퀸스형 연산자

List = [1, 2, 3, 4]

for i in range(-1,-5,-1):
    print(List[i])

음수를 이용해서 list에서 출력하는 경우

print(msg.lower())
print(msg.upper())

문자열 대소문자 바꾸는 방법

진은아 파이썬에서 전역변수로 클래스 밖에서 전역변수로 만들기 위해서는 반드시 클래스 밖에서 전역변수로 만들어 주고 함수 내부에서도 글로벙을 사용해서 전역변수로 만들어 주어야 한다.

global list

def cskejfbkjeb()

global list

위와 같이 받아주아어야 사용이 가능하다 하지만 이러한 상황속에서도 그는 희망을 놓지 않았다.

아 그리고 진은아 파이썬 다른 파일에서 import 하려면 from aaaaa import asdsdsd 이렇게 사용하려면 같은 디렉토리 안에 위치해야한다 진은아

profile
코딩

0개의 댓글