【发布时间】:2021-06-22 19:46:15
【问题描述】:
我想从列表中获取元素,例如
appeared_elements = ['blue-sky','road','white-horse','green-field','tree','dusthaze-sky','brown-horse','yellow-field','black-bison','green-field','dusthaze-sky','dusthaze-sky','blue-sky','snowy-field']
并返回这些元素在另一个列表中出现的次数
objects = ['black-bison', 'elephant', 'white-horse', 'brown-horse', 'scarlet-ibis', 'black-ibis', 'white-ibis', 'blue-sky', 'overcast-sky', 'cloudy-sky', 'dusthaze-sky', 'rocky-mountain', 'snowy-mountain', 'birdseye-building', 'perspective-building', 'front-building', 'red-flower', 'purple-flower', 'pink-flower', 'sand', 'tree', 'green-field', 'snowy-field', 'yellow-field', 'road', 'tower', 'blue-ocean', 'green-cliff', 'black-cliff', 'waterfall']
我想出了一个解决方案...
def printPercentages(appeared_elements, objects):
for n in objects:
soma = len([m for m if n in appeared_elements])/len(appeared_elements)
print(soma)
但我在某个地方失败了,我还不知道在哪里
【问题讨论】:
-
在您的列表理解中看起来像是一个错字——应该是
[m for m in objects if m in appeared_elements],或者类似的东西? -
你能举一个你期望输出的例子吗?我不确定“这些元素在另一个列表中出现多少次的频率”是什么意思——是
appeared_elements中出现在objects中的元素的百分比(唯一与否?),还是相反,或者每个元素在objects中重复的频率,或者...? -
@Samwise... 是的,这就是出现在对象中的元素(是否唯一?)的百分比
-
你没有回答“独特与否?”部分...
-
不是唯一的,@Samwise
标签: python arrays list for-loop filter