중첩 목록으로 작업할 때 각 요소를 다른 데이터 유형으로 변환해야 하는 경우가 많습니다. 일반적인 시나리오 중 하나는 문자열을 부동 소수점으로 변환하는 것입니다. 중첩 루프를 사용하는 대신 List Comprehension은 간결하고 효율적인 솔루션을 제공합니다.
중첩 목록의 각 요소를 부동 소수점으로 변환하려면 중첩 List Comprehension을 사용할 수 있습니다.
[[float(y) for y in x] for x in l]
이 표현식은 기본 목록 l의 각 하위 목록 x를 반복하여 새 목록을 만듭니다. x의 문자열에서 변환된 부동 소수점을 포함하는 하위 목록입니다. 결과 목록은 원래 목록과 구조가 동일하지만 문자열 대신 부동 소수점을 사용합니다.
단일 평면화된 목록이 필요한 경우 루프 순서를 반대로 할 수 있습니다. :
[float(y) for x in l for y in x]
이 경우 y는 모든 하위 목록의 모든 요소를 반복하고, x는 자신을 하위 목록으로 만듭니다. 결과는 중첩 목록에서 파생된 모든 부동 소수점을 포함하는 단일 목록입니다.
다음 중첩 목록을 고려하세요.
l = [['40', '20', '10', '30'], ['20', '20', '20', '20', '20', '30', '20'], ['30', '20', '30', '50', '10', '30', '20', '20', '20'], ['100', '100'], ['100', '100', '100', '100', '100'], ['100', '100', '100', '100']]
중첩 목록 이해를 사용하면, 결과는 다음과 같습니다.
[[40.0, 20.0, 10.0, 30.0], [20.0, 20.0, 20.0, 20.0, 20.0, 30.0, 20.0], [30.0, 20.0, 30.0, 50.0, 10.0, 30.0, 20.0, 20.0, 20.0], [100.0, 100.0], [100.0, 100.0, 100.0, 100.0, 100.0], [100.0, 100.0, 100.0, 100.0]]
평면화된 목록 사용 이해하면 결과는 다음과 같습니다.
[40.0, 20.0, 10.0, 30.0, 20.0, 20.0, 20.0, 20.0, 20.0, 30.0, 20.0, 30.0, 20.0, 30.0, 50.0, 10.0, 30.0, 20.0, 20.0, 20.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0]
위 내용은 Python에서 List Comprehension을 사용하여 중첩된 문자열 목록을 부동 소수점으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!