gpt4 book ai didi

Python-根据列表中的反向位置计算分数

转载 作者:太空宇宙 更新时间:2023-11-03 15:45:03 25 4
gpt4 key购买 nike

我能做到这一点是非常冗长、hacky 的代码。我正在寻找有关如何以干净、Python 的方式执行此操作的指示。我正在使用Python 3.5.2

我有 2 个有序的单词列表......

ting_word_bag = ['word', 'tree', 'dependency', 'number', 'pattern']

ted_word_bag = ['dependency', 'verb', 'grammar', 'word', 'parser']

我想迭代 ted_word_bag 中的单词,并根据单词在 ting_word_bag 中的位置为每个单词分配一个值。这很简单。

不太重要的是,我想反转这些值,以便 ting_word_bag 列表中的第一个单词值 5 分,列表中的最后一个单词值 1 分(基于 5 个元素的列表)

对于此示例,ted_word_bag 的总分将为 8 分。 5 表示'word',3 表示'dependency'

任何有关如何简单快速地完成此操作的指示将不胜感激。

干杯。

最佳答案

使用理解,您可以构建一个字典来存储每个单词的“分数”:

>>> some_dict = {j:i for i,j in enumerate(ting_word_bag)}
>>> some_dict
{'information': 5, 'word': 0, 'pattern': 4, 'tree': 1, 'number': 3, 'dependency': 2}

使用reversed或者其他方法,你可以得到你想要的。

接下来,使用字典的 .get(index, default-value) 对第二个列表的每个值求和:

>>> sum(some_dict.get(i,0) for i in ted_word_bag)
8 #with a correct value of some_dict

关于Python-根据列表中的反向位置计算分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41827640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com