从另一个列表中查找数字索引

我使用的是 Python 3,我的代码中有两个列表:

ListA = [53, 1, 17, 4, 13, 2, 17]
ListB = [4, 3, 1]

现在,我想在 ListA 中的 ListB 中找到任何数字的索引。

这种情况下的输出应该是1因为:

  • 其中的第一个值ListA也是 inListB1

  • 值的索引1ListA1


慕无忌1623718
浏览 148回答 3
3回答

长风秋雁

如果您无法找出正确的 PID,我可能有一个替代解决方案,利用您用于启动该过程的参数。它不是那么好,因为您将遍历流程树直到找到匹配项,但这样它肯定会找到流程。请记住,如果您有多个运行相同参数的进程,这可能不会总是返回正确的进程。def process_get(*args):    """Returns the process matching ``args``.    Relies on ``args`` matching the argument list of the process to find.    Args:        *args: process arguments, e.g. ["java", "-jar", "somejar.jar"]    Returns:        :obj:`process`    """    import psutil    for process in psutil.process_iter():        try:            if process.cmdline() == args:                return process        except psutil.AccessDenied:            pass    return None

烙印99

如果你想要更好的效率,你可以ListB变成一个集合,这样你就可以确定一个项目是否在ListBO(1) 的平均时间复杂度中:setB = set(ListB)print(next(i for i, a in enumerate(ListA) if a in setB))这输出: 1
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python