포시코딩

1월4일 본문

TIL

1월4일

포시 2023. 1. 4. 10:15
728x90

Python string에서 문자 찾기

not in

def solution(num, k):
    if str(k) not in str(num):
        print(True)
    else:
        print(False)

result = solution(29583, 1)  # True
result = solution(29183, 1)  # False

in

def solution(num, k):
    if str(k) in str(num):
        print(True)
    else:
        print(False)

result = solution(29583, 1)  # False
result = solution(29183, 1)  # True

index, find

둘 다 문자열에 사용할 수 있으며 index는 찾았을 때 없으면 에러가 나지만 

find는 찾았을 때 없으면 -1을 리턴한다.

 

Python sorted(), sort()

sort()

a = ['b', 'c', 'a', 'd']
a.sort()
print(a)  # ['a', 'b', 'c', 'd']

# b = 'bcad'
# b.sort()  # 에러
# print(b)

str에 대해서는 사용할 수 없으며 사용 시 에러가 발생한다.

 

sorted()

a = ['b', 'c', 'a', 'd']
a = sorted(a)
print(a)  # ['a', 'b', 'c', 'd']

b = 'bcad'
b = sorted(b)
print(b)  # ['a', 'b', 'c', 'd']

str에 대해서도 사용할 수 있으며 사용 시 list로 변환되어 리턴받는다.

 

Python Dict 다루기

keys(), values()

dict = {'a': 0, 'b': 1, 'c': 2}

print(dict.keys())  # dict_keys(['a', 'b', 'c'])
print(list(dict.keys()))  # ['a', 'b', 'c']

print(dict.values())  # dict_values([0, 1, 2])
print(list(dict.values()))  # [0, 1, 2]

fromkeys()

seq = ('a', 'b', 'c', 'b')

dict_1 = dict.fromkeys(seq)
print(dict_1)  # {'a': None, 'b': None, 'c': None}

dict_2 = dict.fromkeys(seq, 10)
print(dict_2)  # {'a': 10, 'b': 10, 'c': 10}

이번에 처음 본 함수인데 dict를 쉽게 만들어주는 함수이다.

key는 중복해 가질 수 없으니 중복 제거를 위해 사용할 수도 있다.

 

dict에 대해 join() 하면 key들로 묶인다.

dict = {'a': 0, 'b':1, 'c': 2}
print(''.join(dict))  # abc

dict에 대해 ''.join()을 하여 string으로 만들면 key들만 묶인다는 사실을 알았다.

사실 코딩테스트 문제풀이에서 발견한건데 신기하기도 하고 fromkeys()와 같이 쓰면

중복제거에 사용할 수도 있는 등 유용할 것 같아 따로 정리하게 되었다.

 

정리

헷갈리는 Python 함수들에 대해 예전에 정리해봤던걸

문제 풀다가 사용할 일이 생겨 복습 겸 다시 정리해봤다.

 

 

728x90

'TIL' 카테고리의 다른 글

1월6일  (0) 2023.01.07
1월5일  (0) 2023.01.05
1월3일  (0) 2023.01.03
1월2일  (0) 2023.01.02
1월1일  (0) 2023.01.01