首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在一个数组中找到另一个数组对应的索引?(python)

在Python中,可以使用以下方法在一个数组中找到另一个数组对应的索引:

方法一:使用循环遍历 可以使用for循环遍历第一个数组,然后在循环中使用条件判断来找到第二个数组中对应元素的索引。

代码语言:txt
复制
def find_index(array1, array2):
    result = []
    for item in array2:
        if item in array1:
            index = array1.index(item)
            result.append(index)
        else:
            result.append(None)
    return result

使用示例:

代码语言:txt
复制
array1 = [1, 2, 3, 4, 5]
array2 = [3, 5, 2]
indexes = find_index(array1, array2)
print(indexes)  # 输出:[2, 4, 1]

方法二:使用列表推导式 可以使用列表推导式来简化代码,实现同样的功能。

代码语言:txt
复制
def find_index(array1, array2):
    return [array1.index(item) if item in array1 else None for item in array2]

使用示例:

代码语言:txt
复制
array1 = [1, 2, 3, 4, 5]
array2 = [3, 5, 2]
indexes = find_index(array1, array2)
print(indexes)  # 输出:[2, 4, 1]

这两种方法都可以在第一个数组中找到第二个数组对应元素的索引,并返回一个包含索引的列表。如果第二个数组中的元素在第一个数组中不存在,则对应索引为None。

注意:以上方法适用于只有一个对应索引的情况,如果第一个数组中存在多个相同的元素,可能会返回第一个匹配到的索引。如果需要找到所有匹配的索引,可以使用循环遍历的方式,并使用列表来存储所有匹配的索引。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

查找某个元素在数组中对应的索引

1 问题 已知一个数组内元素为 { 19, 28, 37, 46, 50 } 。用户输入一个数据,查找该数据在数组中的索引,并在控制台输出找到的索引值,如果没有查找到,则输出 -1。...2 方法 首先定义一个数组,在键盘录入要查找的数据,用一个变量接收。再定义一个变量,初始值为-1。遍历数组获取数组中的每一个元素。...然后将键盘输入的数据和数组中的每一个元素进行比较,如果值相同就把该值对应的索引赋值给索引变量,并结束循环。最后输8出索引变量。...; }else{ System.out.println("您输入的数字" + a + "在数组中的索引是:" + dataIndex); } }...== arr[i]){ return i; } } return -1; } } 3 结语 针对查找某个元素再数组中对应的索引这个问题

3.2K10
  • 漫画:如何在数组中找到和为 “特定值” 的两个数?

    我们来举个例子,给定下面这样一个整型数组(题目假定数组不存在重复元素): 我们随意选择一个特定值,比如13,要求找出两数之和等于13的全部组合。...由于12+1 = 13,6+7 = 13,所以最终的输出结果(输出的是下标)如下: 【1, 6】 【2, 7】 小灰想表达的思路,是直接遍历整个数组,每遍历到一个元素,就和其他元素相加,看看和是不是等于那个特定值...第1轮,用元素5和其他元素相加: 没有找到符合要求的两个元素。 第2轮,用元素12和其他元素相加: 发现12和1相加的结果是13,符合要求。 按照这个思路,一直遍历完整个数组。...在哈希表中查找7,查到了元素7的下标是7,所以元素6(下标是2)和元素7(下标是7)是一对结果: 按照这个思路,一直遍历完整个数组即可。...,匹配后从哈希表删除对应元素 map.remove(nums[i]); } } return resultList

    3.1K64

    漫画:如何在数组中找到和为 “特定值” 的三个数?

    前一段时间,我们介绍了LeetCode上面的一个经典算法题【两数之和问题】。 这一次,我们把问题做一下扩展,尝试在数组中找到和为“特定值”的三个数。 题目的具体要求是什么呢?...给定下面这样一个整型数组: ? 我们随意选择一个特定值,比如13,要求找出三数之和等于13的全部组合。...我们以上面这个数组为例,选择特定值13,演示一下小灰的具体思路: 第1轮,访问数组的第1个元素5,把问题转化成从后面元素中找出和为8(13-5)的两个数: ? 如何找出和为8的两个数呢?...至于空间复杂度,同一个哈希表被反复构建,哈希表中最多有n-1个键值对,所以该解法的空间复杂度是O(n)。 ? ? ? ? 我们仍然以之前的数组为例,对数组进行升序排列: ? ? ?...由于数组是按照升序排列,k左侧的元素一定小于k,因此我们把指针k左移一位: ? 计算两指针对应元素之和,2+9 = 11< 12,这次结果又偏小了。

    2.4K10

    二分法查找有序数组中对应数据的索引

    1 问题 在有序(升序或降序)的数组中查找对应数据的索引时,通常采取循环暴力求解:遍历数组中全部数据,直到数据等于目标值时,返回目标值的索引。但是,当数组中的数据足够多时,暴力求解会占用大量的时间。...2 方法 可以通过“二分法”减少查找过程中所花费的时间,二分法其数学解释为:对于区间[a,b]上连续不断且f(a)*f(b)的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点...,进而得到零点近似值的方法叫二分法。...简单来说,就是把需要查询的数据其所在的区间逐渐缩小,直到区间内只有需要的数据。不断把查询的区间对半缩小,避免无用功。这样可以节省大量的时间。...:35613用时:0.0002653999999893131s''' 3 结语 在有序(升序或降序)的数组中查找对应数据的索引,当数组中的数据过多时,可以使用“二分法”优化查找所花费的时间。

    17410

    【JavaScript】内置对象 - 数组对象 ④ ( 索引方法 | 查找给定元素的第一个索引 | 查找给定元素的最后一个索引 | 索引方法案例 - 数组元素去重 )

    文章目录 一、索引方法 1、查找给定元素的第一个索引 - indexOf() 2、查找给定元素的最后一个索引 - lastIndexOf() 二、索引方法案例 - 数组元素去重 1、需求分析 2、代码实现...一、索引方法 1、查找给定元素的第一个索引 - indexOf() 调用 Array 数组对象 的 indexOf() 方法 可以 查找给定元素的第一个索引 , 语法如下 : indexOf(searchElement...该索引值 ; 返回值 就是 在数组中 第一个 被找到的 指定元素的 索引位置 , 如果没有找到返回 -1 ; 参考文档 : https://developer.mozilla.org/zh-CN/docs...console.log(indexOf5); // 查找数组中 索引 1 的元素后 , 第一个 5 的索引值 // 查找时 包含 该索引值 // 这里...给定一个数组 , [9, 5, 2, 7, 5] 将数组中的重复元素删除 , 也就是将上述数组中 重复的元素 5 删除 ; 创建一个新的空数组 , 遍历旧数组 , 遍历每个旧数组元素时 , 查询该元素是否在新数组中

    17510

    如何在 Python 中将作为列的一维数组转换为二维数组?

    数组是编程中的基本数据结构,使我们能够有效地存储和操作值的集合。Python作为一种通用编程语言,提供了许多用于处理数组和矩阵的工具和库。...我们将介绍各种方法,从手动操作到利用强大的库(如 NumPy)。无论您是初学者还是经验丰富的 Python 程序员,本指南都将为您提供将数据有效地转换为 2-D 数组格式所需的知识和技术。...了解 1−D 和 2−D 数组: 1−D 数组 一维数组,也称为一维数组或向量,表示排列在单行或单列中的元素集合。数组中的每个元素都使用索引访问,索引指示其在数组中的位置。...通过掌握这些技术,Python 程序员可以有效地将他们的数据转换为 2−D 数组格式,使他们能够充分利用 Python 的潜力进行数据分析、机器学习和科学计算任务。...总之,这本综合指南为您提供了在 Python 中将 1−D 数组转换为 2-D 数组列的各种技术的深刻理解。

    37640

    Leetcode724:寻找数组的中心索引(java、python3)

    寻找数组的中心索引 给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。 我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。...如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。...同时, 3 也是第一个符合要求的中心索引。 示例 2: 输入: nums = [1, 2, 3] 输出: -1 解释: 数组中不存在满足此条件的中心索引。...说明: nums 的长度范围为 [0, 10000]。 任何一个 nums[i] 将会是一个范围在 [-1000, 1000]的整数。...python3 ​ nums即为list动态数组 class Solution: def pivotIndex(self, nums: List[int]) -> int: ""

    52820

    对于数组索引变化+引用参数共同导致出现的一个 bug

    终于复现了这个问题 大致代码如下 以下代码会导致移除第一项的时候, 把一个Collection数组转化成对象(JSON数据) protected function transformJson(...in_array($item['id'], $notIn))->values(); } // 由于上面进行了 filter, 导致这个`Collection`转变成了一个数组,index...) { if ($item['id']) { return $index; } } // 这里返回了`Collection`的随机到的索引...return $index; } getRandomAd这个方法的的排重filter是因为项目后期加了一个逻辑, 后面没想到是它来触发这个bug....Collection的确是一个对象,PHP中对象作为参数传递也确实是一个引用. 但是由于直接的赋值,而不是在对象上修改数据, 导致外部的引用没有修改成功.

    10910

    python3面试题:给一个数组,如果数组中有0,则在0后面追加一个0,整体的数组长度不变

    面试题 给一个数组,如果数组中有0,则在0后面追加一个0,整体的数组长度不变,要求不能生成新的数组,只能在当前数组下操作 输入: arr = [1, 2, 4, 0, 5, 0, 9, 6] 期望输出:...[1,2,4,0,0,5,0,0] 解决思路 使用递归,每次找到列表中的0,在后面添加一个0,并移除最后一项,得到新的arr 依次类推,第一次是从0位置开始,下一次从添加0后的位置继续 def func...(index:int, arr:list): """ 如果数组中有0,则在0后面追加一个0,整体的数组长度不变 :param index: index是a的索引 :param...arr: 传入数组 :return: func()函数 index从插入的位置,继续递归 """ if index >= len(arr)-1: return...加量不加价(新增postman, 赠送selenium和python基础2个课)

    70620

    70个NumPy练习:在Python下一举搞定机器学习矩阵运算

    输入: 输出: 答案: 12.从一个数组中删除存在于另一个数组中的元素? 难度:2 问题:从数组a中删除在数组b中存在的所有元素。 输入: 输出: 答案: 13.获取两个数组元素匹配的索引号。...输入: 答案: 22.如何使用科学记数法(如1e10)漂亮地打印一个numpy数组?...答案: 方法2是首选,因为它创建了一个可用于采样二维表格数据的索引变量。 43.用另一个数组分组时,如何获得数组中第二大的元素值? 难度:2 问题:第二长的物种的最大价值是什么?...难度:3 问题:针对给定的二维numpy数组计算每行的min-max。 答案: 58.如何在numpy数组中找到重复的记录?...输入: 答案: 63.如何在一维数组中找到所有局部最大值(或峰值)? 难度:4 问题:在一维numpy数组a中查找所有峰值。峰值是两侧较小值包围的点。

    20.7K42

    Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)

    ndarray对象的内容可以通过索引或切片来访问和修改,与Python中list的切片操作一样。...1.6.1 浅拷贝 共享内存地址的两个变量,当其中一个变量的值改变时,另一个变量的值也随之改变。...此时,变量间的“拷贝”是“浅拷贝” 共享“视图”(view)的两个变量,当其中一个变量的值改变时,另一个变量的值也随之改变。...,所以一个变量的改变不会影响另一个变量 如下所示: 总结:我们只要记住在浅拷贝中,原始数组和新的数组共同执行同一块内存;同时在深拷贝中,新的数组是原始数据的单独的拷贝,它指向一块新的内存地址。...水平分隔 分隔数组是组合数组的逆过程,与组合数组一样,分隔数组也分为水平分隔数组和垂直分隔数组。水平分隔数组与水平组合数组对应。

    8.7K11

    2024-08-31:用go语言,给定一个数组apple,包含n个元素,每个元素表示一个包裹中的苹果数量; 另一个数组capac

    2024-08-31:用go语言,给定一个数组apple,包含n个元素,每个元素表示一个包裹中的苹果数量; 另一个数组capacity包含m个元素,表示m个不同箱子的容量。...需要注意的是,可以将同一个包裹中的苹果分装到不同的箱子中。 需要计算并返回实现这一目标所需的最小箱子数量。 输入:apple = [1,3,2], capacity = [4,3,1,5,2]。...大体步骤如下: 1.首先,计算所有苹果的总数,用变量 s 表示。 2.将箱子的容量按照降序排列,通过调用 slices 包里的 SortFunc 函数,将 capacity 数组按照从大到小排序。...3.遍历排序后的容量数组,从大到小依次尝试将苹果放入箱子中。...4.在每个循环中,尝试将当前箱子的容量 c 与苹果总数 s 比较: • 如果 s 小于等于 0,表示所有苹果都已经装箱了,返回当前箱子的索引 + 1,即已经使用的箱子数目。

    10020

    用于从数组中删除第一个元素的 Python 程序

    为了删除数组的第一个元素,必须考虑的索引为 0,因为任何数组中第一个元素的索引始终为 0。与从数组中删除最后一个元素一样,从数组中删除第一个元素可以使用相同的技术进行处理。...使用 pop() 方法 pop() 方法用于删除 Python 编程语言中数组、列表等的元素。此机制通过使用必须从数组中删除或删除的元素的索引来工作。 因此,要删除数组的第一个元素,请考虑索引 0。...通过使用 pop() 方法,提及数组的第一个索引,即方法括号内的 0 以删除第一个元素。 删除第一个元素后打印数组。...此关键字还用于使用其索引删除数组的最后一个元素或任何元素。因此,我们使用此关键字来删除 Python 中的特定对象或元素。...这样,使用简单的技术可以非常轻松地删除数组中任何索引的元素。如果用户知道数组元素的索引,则删除过程变得非常容易。如果不是索引,至少必须知道元素的值,以便可以应用“remove()”方法。

    27630
    领券