파이썬, 문자열의 내용을 정렬하기

 

글. 오상문 sualchi@daum.net

 

 

# 문자열 내용을 정렬하기 (오름차순)


s = "hello123"
print(''.join(sorted(s)))     # sorted는 정렬(기본은 오름차순)된 새로운 자료를 돌려줌

# 결과: 123ehllo

 


# 문자열 내용을 정렬하기 (내림차순)


s = "hello123"
print(''.join(sorted(s, reverse=True)))   # 내림차순은 reverse=True 옵션 사용
# 결과: ollhe321

 

 

[참고] 정렬 기능을 사용하지 않고 알파벳 문자열 정렬하기

# 알파벳 순서대로 글자 수를 저장할 리스트

a = [0 for i in range(52)]    

s = input("알파벳 문자열 입력: ")

 

# 입력 문자열을 읽어서 글자 위치의 숫자를 증가시킴

for c in s:       
    if c >= 'a' and c <= 'z':
        a[ord(c)-ord('a')] += 1
    if c >= 'A' and c <= 'Z':
        a[ord(c)-ord('A')+26] += 1

 

# 리스트에 있는 숫자만큼 순서대로 글자 출력       
for i in range(26):   # 소문자 구간
    if i > 0:  # 개수가 0보다 크면
        print(chr(i+ord('a'))*a[i], end='')
for i in range(26,52): # 대문자 구간
    if i > 0:  # 개수가 0보다 크면
        print(chr(i+ord('A'))*a[i], end='')

 

<이상>

반응형

+ Recent posts