본문 바로가기
프로그래밍/알고리즘

[백준] Python 문법 정리(1)

by supernovaMK 2024. 2. 8.

파이썬에서의 문법들을 계속해서 정리해볼까 한다.

 

 

map(함수,이터레이터값): 함수 인자 하나와 반복되는 이터레이터 인자를 받아 변환해주는 방식이다.

 

a,b=(map(int,input().split())) ##1번

a,b=(map(int,input()))  ## 2번


print(a,b)

여기서 map에 대한 개념의 혼동이 있었다. map을 사용할시에 map자료형으로 반환되어서 list로 감싸주어야하는 것이 아닌가 생각했는데 여러 값이 있을 때에는 이터레이터에서 차례로 값을 꺼내어 준다고 한다.

 

a=(map(int,input().split()))

즉 이런식으로 하게 된다면 a에는 이터레이터만 들어가게 되는것이다. 여러 값일 경우에만 이터레이터가 자동으로 값을 넘겨주는 방식이다.

굳이 이 방식을 사용하고 싶다면

 

a=(map(int,input().split()))
print(next(a))

처럼 이터레이터 함수를 사용해야한다.

 

join(문자열):문자열을 하나씩 이어주는 함수,문자열 변환 함수

 

print(' '.join(map(str,a)))

공백을 한칸 넣고 충력가능하게 하는 방식이다 join을 사용하여 가능하다.

이때 join은 문자열을 다루는 함수이기에 map을 사용하여 문자열로 변환해주어야하는 상황을 유의하자.

 

a="hihi"
print(' '.join(a))

문자열을 넣어줘도 되고 리스트를 넣어줘도 된다(사실 같은 말)

 

import sys  입력을 효율적을 받기

import sys
input=sys.stdin.readline

이렇게 입력한 후에 input을 사용하면 여러번 반복적으로 입력 받을 때 시간을 줄일 수 있다.

 

sorted 사용할때 인자값

sorted(정렬할 데이터)

sorted(정렬할 데이터, reverse 파라미터)

sorted(정렬할 데이터, key 파라미터)

sorted(정렬할 데이터, key 파라미터, reverse 파라미터)

li=[[1,4,4],[1,3,3]]
li2=sorted(li,key=lambda x:(x[1],x[0]))

 

list 에서 값 지우기 

>>> a = [1, 2, 3, 4, 5, 6, 7]

>>> del a[1]

>>> a [1, 3, 4, 5, 6, 7]

 

>>> a = [1, 2, 3, 4, 5, 6, 7]
>>> a.remove(3)
>>> a
[1, 2, 4, 5, 6, 7]
>>> a.remove(9)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list

 

>>> a = [1, 2, 3, 4, 5, 6, 7]
>>> del a[a.index(3)]
>>> a
[1, 2, 4, 5, 6, 7]

 

 

'프로그래밍 > 알고리즘' 카테고리의 다른 글

BFS&DFS 정복기  (1) 2024.06.13
불변 객체, 가변 객체  (0) 2024.06.11
[백준] Greedy 알고리즘-1339번  (1) 2024.01.26