문자열과 숫자를 모두 포함하는 Python 목록이 있습니다. 이 기사에서는 문자열을 무시하여 이러한 목록에 있는 숫자를 합산하는 방법을 볼 것입니다.
필터 및 isinstance 사용
isinstance 함수는 목록의 요소에서 숫자만 필터링하는 데 사용할 수 있습니다. 그런 다음 sum 함수를 적용하고 최종 결과를 얻습니다.
예
listA = [1,14,'Mon','Tue',23,'Wed',14,-4] #Given dlist print("Given list: ",listA) # Add the numeric values res = sum(filter(lambda i: isinstance(i, int), listA)) print ("Sum of numbers in listA: ", res)
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Given list: [1, 14, 'Mon', 'Tue', 23, 'Wed', 14, -4] Sum of numbers in listA: 48
for 루프 사용
필터를 사용하지 않고 다음과 인스턴스 조건을 사용한다는 점을 제외하면 벽과 유사한 접근 방식입니다. 그런 다음 합계 함수를 적용합니다.
예
listA = [1,14,'Mon','Tue',23,'Wed',14,-4] #Given dlist print("Given list: ",listA) # Add the numeric values res = sum([x for x in listA if isinstance(x, int)]) print ("Sum of numbers in listA: ", res)
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Given list: [1, 14, 'Mon', 'Tue', 23, 'Wed', 14, -4] Sum of numbers in listA: 48