3/30

Jeonghwan Yoon·2025년 3월 30일

문자열 추가

문자열.append()는 쓸 수 없음.
리스트.append()는 가능

문자열은

문자열 += 추가할 str

문자열뒤집기(슬라이싱)

a[i:j+1][::-1]
  • start < end일 때: step은 양수여야 함 (왼쪽 → 오른쪽)
  • start > end일 때: step은 음수여야 함 (오른쪽 → 왼쪽)
  • 슬라이싱은 항상 start부터 end 전까지입니다

그런데 이걸 a[i:j+1:-1]로 쓰면?

a = ['a', 'b', 'c', 'd', 'e']
a[1:4][::-1]    # ✅ ['d', 'c', 'b']
a[1:4:-1]       # ❌ []  (결과 없음)

왜냐면 start=1, end=4, step=-1
왼쪽부터 오른쪽 방향인데 역순(-1) 이라 조건 충돌이 생깁니다.

파이썬은 이런 경우 "읽을 수 있는 방향이 아예 없음"으로 보고 빈 리스트를 반환.

join()

''.join(리스트)

리스트를 하나의 문자열로 만들어준다.
join은 문자열 리스트에만 사용


각 문자열 슬라이스로 이어붙이기

def solution(my_strings, parts):
    answer = ''
    for i in range(len(my_strings)):
        s, e = parts[i]
        answer += my_strings[i][s:e+1]
    return answer
  • my_strings[i][s:e+1]끝 인덱스를 포함하기 위해 e+1
  • answer에 차례대로 잘라붙임

리스트안에 값 확인하는 방법

if is_suffix in a:

a 리스트안에 is_suffix가 있으면 True

startswith 란?

str.startswith(prefix)

반환값

  • 시작하면 True
  • 아니면 False
ex)
s = "hello"
s.startswith("he")     # True
s.startswith("x")      # False
(시작 위치 지정)
"abcdef".startswith("c", 2)  # True

1. ord()chr()

함수설명예시
ord('A')문자를 아스키 코드로65
chr(65)아스키 코드를 문자로'A'
for i in range(26):
    chr(ord('A') + i)  # A~Z 생성
profile
안녕하세요.

0개의 댓글