>백엔드 개발 >파이썬 튜토리얼 >Python에서 문자열 숫자 목록을 숫자로 정렬하는 방법은 무엇입니까?

Python에서 문자열 숫자 목록을 숫자로 정렬하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-08 17:57:12648검색

How to Sort a List of String Numbers Numerically in Python?

문자열 숫자 목록을 숫자순으로 정렬

간단함에도 불구하고 Python sort() 함수는 숫자를 나타내는 문자열을 처리할 때 오해의 소지가 있을 수 있습니다. . 아래 코드 조각에서 볼 수 있듯이 이러한 문자열을 정수로 변환한 다음 정렬하려고 하면 잘못된 결과가 생성됩니다.

list1 = ["1", "10", "3", "22", "23", "4", "2", "200"]
for item in list1:
    item = int(item)

list1.sort()
print(list1)

출력:

['1', '10', '2', '200', '22', '23', '3', '4']

이 문제를 해결하려면 다음을 수행해야 합니다. 실제로 문자열을 정수로 변환합니다. 수정된 코드는 다음과 같습니다.

list1 = ["1", "10", "3", "22", "23", "4", "2", "200"]
list1 = [int(x) for x in list1]
list1.sort()

이렇게 하면 올바른 숫자 순서가 출력됩니다.

['1', '2', '3', '4', '10', '22', '23', '200']

또는 요소를 문자열로 유지해야 하는 경우 key 매개변수를 sort로 사용할 수 있습니다. (). 이 매개변수는 비교되기 전에 각 요소에 대해 호출되는 함수를 허용합니다. 요소 자체 대신 키 함수의 반환 값이 비교에 사용됩니다.

예:

list1 = ["1", "10", "3", "22", "23", "4", "2", "200"]
list1.sort(key=int)

또는

list1 = sorted([int(x) for x in list1])

위 내용은 Python에서 문자열 숫자 목록을 숫자로 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.