파이썬
리스트, 큐, 스택이 비어있는지 확인하는 방법
1️⃣ 방법 1
if stack: # 스택이 비어있지 않으면
2️⃣ 방법 2
if len(stack) == 0:
간단하게 방법 1을 쓰도록 하자.
배열끼리 최대 최소를 비교할 때
만일 배열 두 개를 비교하여 min() 함수를 사용했을 때 무슨 기준으로 결과를 반환하는지 확인하자.
min(A, B)는 A와 B를 사전순(lexicographical)으로 비교하여 첫 번째로 사전순으로 작은 리스트를 반환한다. 여기서 사전순 비교는 두 리스트의 각 요소를 앞에서부터 순차적으로 비교하며, 첫 번째로 다른 값이 나타나는 위치에서 더 작은 값을 가진 리스트가 "작다"고 판별된다.
A = [1, 4, 2]
B = [5, 4, 4]
print(min(A, B)) # [1, 4, 2] 출력
- A와 B의 첫 번째 요소인 1과 5를 비교한다.
- 1이 5보다 작기 때문에 A가 더 작다고 판별된다.
- 따라서, min(A, B)는 [1, 4, 2]를 반환하게 된다.
TypeError : 'str' object does not support item assignment
해석하면 "'str' 개체가 항목 할당을 지원하지 않습니다. ". 이 말은 즉 기존 문자열을 수정하려고 할 때, 수정이 불가능하다는 뜻이다. 문자열은 불변이기 때문이다.
예를 들어, 인덱스에 접근해서 replace() 를 사용하고 다시 기존 문자열에 담으려고 할 때나, 기존 문자에서 다른 문자로 변경하려고 할 때 발생하는 오류이다.
오류 X
text = "hello world"
text = text.replace("world", "Python")
오류 O
text = "hello world"
text[1] = text.replace("world", "Python")
replace() 메서드는 기존 문자열을 변경하지 않고 새로운 문자열을 반환한다. 즉, 문자열은 불변(immutable)이기 때문에, replace()를 사용해도 원본 문자열에는 영향을 미치지 않는다. 만약 변경된 문자열을 원본에 저장하려면, 기존 변수에 다시 할당해야 한다.
title() 내장 함수
파이썬의 title() 함수는 문자열의 각 단어의 첫 글자를 대문자로 변환하고, 나머지 글자는 소문자로 만드는 메서드이다. 단어는 공백이나 특수 문자로 구분된다.
text = "hello world! python programming."
result = text.title()
print(result) # 출력: "Hello World! Python Programming."
- title()을 사용하면 "hello world! python programming."이 "Hello World! Python Programming."으로 변환된다.
주의사항
title()은 단순히 첫 글자를 대문자로 만들기 때문에, 의도하지 않은 결과를 가져올 수 있다. 예를 들어, "python's best"는 "Python'S Best"로 출력된다.
capitalize() 내장 함수
파이썬의 capitalize() 함수는 문자열의 첫 글자만 대문자로 만들고, 나머지 모든 글자는 소문자로 변환한다.
text = "hello WORLD!"
result = text.capitalize()
print(result) # 출력: "Hello world!"
- capitalize()는 첫 글자 h만 대문자로 만들고 나머지를 모두 소문자로 변환한다.
📜 작성한 게시글
[Programmers 코딩테스트 L2. 올바른 괄호] 👉 https://dev-cloud.tistory.com/387
[Programmers 코딩테스트 L2. 최솟값 만들기] 👉 https://dev-cloud.tistory.com/388
[Programmers 코딩테스트 L1. JadenCase 문자열 만들기] 👉 https://dev-cloud.tistory.com/389
[SWEA 코딩테스트 20551. 증가하는 사탕 수열] 👉 https://dev-cloud.tistory.com/390
'TIL' 카테고리의 다른 글
[TIL] 2024년 11월 10일 (0) | 2024.11.11 |
---|---|
[TIL] 2024년 11월 09일 (0) | 2024.11.10 |
[TIL] 2024년 11월 07일 (0) | 2024.11.07 |
[TIL] 2024년 11월 06일 (0) | 2024.11.06 |
[TIL] 2024년 10월 30일 (0) | 2024.10.30 |