Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 목록에 있는 숫자 값만 추가

<시간/>

문자열과 숫자를 모두 포함하는 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