在列表Python中添加元素

德里克MC
under__list =[[74, 0.1423287845938018, None, None, 10, 
   1.9099604642265018, 0.5185563065935468, 1.6825659992347914, 
   3.547506695574544, 2.7789822726693023, 20051, 0, 25, None, ' >50K'],
  [44, 0.9181229773462783, None, None, 14, 0.17973300970873787, 
   0.1644822006472492, 0.13940129449838187, 1.1252427184466018, 
   0.4357200647249191, 0, 0, 40, None, ' <=50K']]

我有上面的列表,但我想将元素加在一起,但跳过None">=50"元素。

即使我不知道None数字值在哪里,我也希望能够做到这一点有什么建议?

for item in zip(under__list[row]):
    under__list.append(int(sum(item[0])))

寻找以下输出:

[1182, 25.2452245, None, None, 9212, 256, 2624, 25.24,
   2532, 25, 2005252, 52, 25632, None, ' >50K']

这将是一个将数字加在一起的列表。

阿什维尼乔杜里(Ashwini Chaudhary)

看来您想对所有内部列表中相同索引上的项目求和。对于首先你需要使用的zip*,然后在每一行的第一个项目的列表解析检查的实例Number类型或简单intfloatisinstance(x[0], (int, float))),如果是,总结他们使用别的第一项为值。

>>> from numbers import Number
>>> [sum(x) if isinstance(x[0], Number) else x[0] for x in zip(*under__list)]
[118, 1.0604517619400802, None, None, 24, 2.0896934739352395, 0.683038507240796, 1.8219672937331732, 4.672749414021146, 3.2147023373942214, 20051, 0, 65, None, ' >50K']

该表达式sum(x) if isinstance(x[0], Number) else x[0]称为条件表达式

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章