有没有办法从中创建一个列表?

2024-09-30 18:14:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚学会了如何创建列表理解,我正在回顾我过去的项目,看看我可以在哪里创建理解。我成功地完成了几项,但后来我接触到了代码的这一部分,我想知道是否有任何方法可以从中创建一个列表理解:

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]方面是行不通的。你知道吗

任何帮助都将不胜感激!你知道吗


Tags: 项目方法代码inself列表forutil
2条回答

如果util.Counter()是一个类似于^{}的字典,您可以通过它的update方法用字典来更新它。因此您可以使用:

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

然后对于一些标签x,您可以通过scores[x]访问结果。你知道吗

列表理解是为了列表,词典理解是为了词典。后者是mentioned in the docs。你知道吗

编辑:我没有注意到scores = utils.Counter(),所以我提供了一个答案list理解。请参阅@jpp的答案以获得正确的方法。你知道吗

你的方法是对的,但没有理解的任务。你必须在外面做一个

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

相关问题 更多 >