假设我有几个列表:
list = ["MacOS-1", "MacOS-2", "Windows-1", "Windows-2"]
maclist = []
windowslist = []
我如何从“list”中获取元素,并根据它们前面是否有“MacOS”或“Windows”将它们排序到“maclist”或“windowslist”中?
我在想:(我还没有测试过)
for element in list:
if "MacOs" in element:
maclist.append(element)
elif "Windows" in element:
windowslist.append(element)
提前感谢...
2条答案
按热度按时间jk9hmnmh1#
您可以在Python中使用
startswith
函数。在代码中,您不仅要检查前缀,还要检查任何索引范围中的所有子字符串。
或者,您可以使用以下实现:
oxosxuxt2#
你可能想看看基数树,这是最有效的方法。网上也有很多解决方案。例如,如果列表很长,你必须一遍又一遍地做这件事,那么你可以对列表排序一次,然后在log(N)中对它做一个二元搜索,然后在结果的邻域中寻找。