【问题标题】:'int' object is not subscriptable while using reduce'int' 对象在使用 reduce 时不可下标
【发布时间】:2020-04-24 06:56:08
【问题描述】:

我有一个问题,我无法使用 reduce 添加值

sum_of_cols = lambda self,col : reduce(lambda d,d1: d[col] + d1[col] ,self.my_list)
  • self.my_list-dicts d[col] 列表
  • 列表项 - 包含 int 对象

【问题讨论】:

  • 使用 def 语句代替外部 lambda 表达式。

标签: python list lambda reduce self


【解决方案1】:

d 是运行总和,而不是列。

def sum_of_cols(self, col):
    return reduce(lambda d, d1: d + d1[col], self.my_list, 0)

【讨论】:

  • 我不能,练习说我不能使用 def
  • 然后坚持使用 lambda 表达式。相关更改未尝试索引d
  • awww 现在它的“:不支持 + 的操作数类型:'dict' 和 'int'”
【解决方案2】:

已解决:

sum_of_cols = lambda self,col :reduce(lambda d,d1: d + d1 ,list(map(lambda k : k[col], self.my_list)))

【讨论】:

    猜你喜欢
    • 2021-10-05
    • 1970-01-01
    • 2018-06-24
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    • 2017-07-15
    • 2021-11-26
    • 2012-02-21
    相关资源
    最近更新 更多