首页
学习
活动
专区
工具
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.1K10
  • python数组进行排序,并输出排序后对应索引值方式

    # -*- coding: cp936 -*- import numpy as np #一维数组排序 arr = [1, 3, 5, 2, 4, 6] arr = np.array(arr) print...(-arr)) # 逆序输出索引,从大到小 输出结果: [1 3 5 2 4 6] [1 2 3 4 5 6] [0 3 1 4 2 5] [5 2 4 1 3 0] #二维数组排序 list1 =...array.sort(axis=1) #axis=1按行排序,axis=0按列排序 print array 输出结果: [[4 3 2] [2 1 4]] [[2 3 4] [1 2 4]] 补充拓展:python...对数组进行排序并保留索引 如下所示: import numpy as np arr = [1, 3, 5, 2, 4, 6] arr = np.array(arr) print (np.argsort...(arr)) # 正序输出 print (np.argsort(-arr)) # 逆序输出 以上这篇python数组进行排序,并输出排序后对应索引值方式就是小编分享给大家全部内容了,希望能给大家一个参考

    6.5K20

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

    我们来举个例子,给定下面这样一个整型数组(题目假定数组不存在重复元素): 我们随意选择一个特定值,比如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

    3K64

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

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

    2.3K10

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

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

    16510

    【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 删除 ; 创建一个数组 , 遍历旧数组 , 遍历每个旧数组元素时 , 查询该元素是否在新数组

    14710

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

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

    34240

    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: ""

    52220

    对于数组索引变化+引用参数共同导致出现一个 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中对象作为参数传递也确实是一个引用. 但是由于直接赋值,而不是在对象上修改数据, 导致外部引用没有修改成功.

    10210

    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个课)

    70320

    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)两个变量,当其中一个变量值改变时,另一个变量值也随之改变。...,所以一个变量改变不会影响另一个变量 如下所示: 总结:我们只要记住在浅拷贝中,原始数组和新数组共同执行同一块内存;同时在深拷贝中,新数组是原始数据单独拷贝,它指向一块新内存地址。...水平分隔 分隔数组是组合数组逆过程,与组合数组一样,分隔数组也分为水平分隔数组和垂直分隔数组。水平分隔数组与水平组合数组对应

    5.9K11

    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,即已经使用箱子数目。

    9220

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

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

    25230
    领券