我有几个项目清单:

specials = ['apple', 'banana', 'cherry', ...]
smoothies = ['banana-apple', 'mocha mango', ...]


我想创建一个新列表,special_smoothies,该列表由smoothies中的元素组成,这些元素以specials中的元素开头。但是,如果specials为空白,则special_smoothies应该与smoothies相同。

最Python化的方法是什么?有没有一种方法,而无需单独检查specials是否为空白?

最佳答案

没有明确检查specials的方法有两种。但是不要这样做。

if specials:
  special_smoothies = [x for x in smoothies if any(True for y in specials if x.startswith(y))]
else:
  special_smoothies = smoothies[:]

关于python - 我应该如何编写此字符串前缀检查,使其成为惯用的Python?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2593496/

10-10 03:15