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

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

Linda Hamilton
Linda Hamilton원래의
2024-12-04 20:32:17374검색

How to Sort a List of Numerical Strings 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 = [int(x) for x in list1]
list1.sort()

주요 기능 사용:

대신 문자열을 보존해야 하는 경우 이를 정수로 변환하려면 sort() 함수에서

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

또는 a에서 key 매개변수를 사용할 수 있습니다. 한 줄:

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

두 경우 모두 int() 함수가 각 문자열을 비교하기 전에 키로 호출되어 목록을 숫자로 정렬할 수 있습니다.

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

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