在 Hackerrank Sparse Arrays 挑战中,我有两个字符串列表,S 和 Q。对于 Q 的每个元素,我需要计算 S 中匹配字符串的数量。我几乎可以完成这项工作,但我想使用else 语句来说明没有找到匹配字符串的情况。下面是我拥有的代码,从查看有关该主题的其他堆栈问题来看,我不清楚为什么这不起作用(其他地方有语法错误,但其他所有计数都正确完成),尽管看起来像我可能需要将 if else 语句的特定部分括起来。
res=[S.count(s) for s in Q if s in S else 0]
你的语法有点乱,仅此而已。你需要:
res=[S.count(s) if s in S else 0 for s in Q]
但你实际上并不需要那个,仅供参考 - 你可以这样做
res=[S.count(s) for s in Q]
甚至只是
res = list(map(S.count, Q)]
如果你想变得花哨。
对于 Q 中不在 S 中的任何值,您将获得 0。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句