如下图, 我的思路是通过遍历列表筛选出所有的数值,再使用sum函数,但是用第一张图上的代码求包括所有数值的列表却得不到想要的答案,即[2, 2]。
然后换成三元表达式就可以达到目的:
a = "my numbers is 2 2"
b = a.split()
c = []
for n in b:
if n.isdigit():
c.append(int(n))
尝试着把步骤中的内容打印出来:
你是不是c=[]没有执行. c列表中之前已经有值
你这哪是三元表达式,是列表表达式啊
另,你的代码没有问题
运行出错的原因肯定是代码没贴全,你的c到底在哪定义的,都往里append什么东西了
不过我还有疑惑的一点是,就算我重复运行for循环,c列表里应该都是数值型的数字,为什么会出现字符类型的数字