python - 从具有前缀的列表中获取元素

标签 python list

假设我有几个列表:

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)

提前致谢...

最佳答案

您可以使用startswith Python 中的函数。

for element in list:
  if element.startswith("MacOS"):
    maclist.append(element)
  elif element.startswith("Windows"):
    windowslist.append(element)

在代码中,您不仅检查前缀,还检查任何索引范围内的所有子字符串。

或者,您可以使用以下实现:

macos_list = [item for item in item_list if item.startswith("MacOS")]
windows_list = [item for item in item_list if item.startswith("Windows")]

关于python - 从具有前缀的列表中获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72257835/

相关文章:

python - 如何使用Api Key而不直接在python代码中使用它?

python - 添加 [别名] 失败,错误为 : invalid command 'xyz'

java - 列表根元素的 XStream 别名

从 R 中向量中的列表中删除重复项

c# - 当它减少和增加时分隔列表中的值

python - 使用 python 进行线程/While 循环

python - fit_transform(image) TSNE 方法的 Numpy 数组格式

c# - 将项目添加到通用列表(新手)

python - python是否在分配时复制对象?

python - 在 Python 中打印的列表项前面添加数字