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

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

Linda Hamilton
풀어 주다: 2024-12-04 20:32:17
원래의
327명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿