我需要优化此代码,主要检查字符串 s1
的每个字符是否包含在 s2
中,同时考虑到 double 。
s1, s2 = list(s1), list(s2)
for s in s2:
if s in s1:
s1.remove(s)
else:
return False
return True
我对map
、迭代器和生成器做了一些研究,我确信其中一个或多个有一个解决方案,但现在我非常困惑和沮丧(我'我对 python 很陌生,才几周),所以也许你可以帮助我了解在这种情况下最好的策略是什么。谢谢!
最佳答案
使用 Counter
的解决方案这将正确处理重复的字符:
from collections import Counter
c1 = Counter(s1)
c2 = Counter(s2)
return all(c2[c]>=c1[c] for c in c1)
关于python - 如何在Python中优化这段代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44872160/