为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法从中创建列表理解?

有没有办法从中创建列表理解?

潇潇雨雨 2021-08-24 18:34:41
我刚刚学会了如何创建列表推导式,我正在回顾我过去的项目,看看我可以在哪里创建推导式。我在几个方面取得了成功,但后来我到了代码的这一部分,我想知道是否有任何方法可以从中创建列表理解:scores = util.Counter()for l in self.legalLabels:    scores[l] = self.weights[l] * trainingData[i]也许我只是想得太难了,但我想知道是否有任何方法可以使用它来创建理解?我在想这样的事情:[(scores(l) = self.weights[l] * trainingData[I]) for l in self.legalLabels]但这在将每个值归因于分数 [l] 方面不起作用。任何帮助将不胜感激!
查看完整描述

2 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

如果util.Counter()是像 一样的字典collections.Counter,你可以通过它的update方法用字典更新它。所以你可以使用:


scores = util.Counter()

scores.update({L: self.weights[L] * trainingData[i] for L in self.legalLabels})

然后对于某些标签x,您可以通过scores[x].


列表理解用于列表,字典理解用于字典。后者在文档中提到。


查看完整回答
反对 回复 2021-08-24
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

我没有注意scores = utils.Counter(),所以我提供了一个list理解的答案。有关正确方法,请参阅@jpp 的答案。

你的方法是对的,但在理解范围内没有分配。你必须在它外面做一个

scores = [self.weights[l] * trainingData[I]) for l in self.legalLabels]


查看完整回答
反对 回复 2021-08-24
  • 2 回答
  • 0 关注
  • 153 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信