Python 如何在包含数字和字符串的列表中添加数字

Python 如何在包含数字和字符串的列表中添加数字,python,list,Python,List,假设我有一个如下列表: ExampleList = [2,4,7,4,2,"randomword",23,42,2,1,4,-53,"newrandomword",32,5,2,3] 我如何只添加数字 您可以使用以下生成器表达式,它将在列表中添加所有int: l = [2,4,7,4,2,"randomword",23,42,2,1,4,-53,"newrandomword",32,5,2,3] sum(i for i in l if isinstance(i,int)) # 80 您还可

假设我有一个如下列表:

ExampleList = [2,4,7,4,2,"randomword",23,42,2,1,4,-53,"newrandomword",32,5,2,3]

我如何只添加数字

您可以使用以下生成器表达式,它将在列表中添加所有
int

l = [2,4,7,4,2,"randomword",23,42,2,1,4,-53,"newrandomword",32,5,2,3]

sum(i for i in l if isinstance(i,int))
# 80

您还可以使用函数
filter()


这将处理所有数字:)


通过编程,您可以总结如下:

l = [2,4,7,4,2,"randomword",23,42,2,1,4,-53,"newrandomword",32,5,2,3]
s=0
for i in l:
    try:
        s+=int(i)
    except ValueError:
        print('not a rumber')

print('sum of number is:',s)  
>>> import numbers
>>> x
[2, 4, 7, 4, 2, 'randomword', 23, 42, 2, 1, 4, -53, 'newrandomword', 32, 5, 2, 3, 1.02]
>>> sum(y for y in x if isinstance(y, numbers.Number))
81.02
l = [2,4,7,4,2,"randomword",23,42,2,1,4,-53,"newrandomword",32,5,2,3]
s=0
for i in l:
    try:
        s+=int(i)
    except ValueError:
        print('not a rumber')

print('sum of number is:',s)