[코드트리 조별과제] Python 13. 정렬

김지민·2024년 8월 20일
  • 오름차순으로 정렬하는 코드 - sort()
    - list를 만들어 사용해야 함 => 문자열은 바로 사용 못함, 각 문자를 원소로 갖는 list로 변환 후 sort 함수를 이용하면 정렬이 가능
arr = [12, 41, 37, 81, 19, 25, 60, 20]
arr.sort()
print(arr) # [12, 19, 20, 25, 37, 41, 60, 81]

# 뒤집는 법- 1
arr.sort(reverse=True)
print(arr) # [81, 60, 41, 37, 25, 20, 19, 12]

# 뒤집는 법 - 2
arr = [12, 41, 37, 81, 19, 25, 60, 20]
arr.sort()
arr = arr[::-1] # reversed array
print(arr) #[81, 60, 41, 37, 25, 20, 19, 12]
  • sorted()라는 함수
    -  단, sorted 함수는 정렬된 리스트를 반환하는 함수이기 때문에, 다음과 같이 정렬 이후의 리스트를 변수에 할당을 해줘야만 합니다.
arr = [12, 41, 37, 81, 19, 25, 60, 20]
arr = sorted(arr)
print(arr) # [12, 19, 20, 25, 37, 41, 60, 81]
  • 문자열 정렬
string = "banana"
arr = list(string)
arr.sort()
print(arr) # ['a', 'a', 'a', 'b', 'n', 'n']
sorted_str = ''.join(arr)
print(sorted_str) # aaabnn

sorted() 함수는 어떨까요? sorted 함수의 경우에는, 문자열을 함수 인자로 넣더라도, 이를 성공적으로 정렬해줍니다. 다만, 결과물이 list로 나오는 것을 확인할 수 있습니다.
따라서 sorted 함수를 이용한 이후에 다시 join함수를 이용해 문자열을 만들어주면 됩니다.

string = "banana"
sorted_arr = sorted(string)
print(sorted_arr) # ['a', 'a', 'a', 'b', 'n', 'n']
sorted_str = ''.join(sorted_arr)
print(sorted_str) # aaabnn
  • 문자열 리스트 정렬 - 일반 리스트와 동일
words = ["banana", "apple", "cat", "app"]
words.sort()
print(words) # ['app', 'apple', 'banana', 'cat']

! 복기: print( , end=" ")- 이렇게 해야 공백으로 받을 수 있어

profile
열혈개발자~!!

0개의 댓글