以下是实现两个字符串数组进行对比并记录不同元素索引的 Python 脚本示例:\n\npython\ndef compare_arrays(arr1, arr2):\n diff_indexes = [] # 存储不同元素的索引\n\n # 遍历第一个数组\n for i, item in enumerate(arr1):\n # 如果当前元素是字符串数组,则递归调用compare_arrays函数进行比较\n if isinstance(item, list):\n if i < len(arr2) and isinstance(arr2[i], list):\n nested_diff_indexes = compare_arrays(item, arr2[i])\n if nested_diff_indexes:\n diff_indexes.append([i] + nested_diff_indexes)\n else:\n diff_indexes.append([i])\n\n # 如果当前元素是字符串,且在第二个数组中对应索引的元素不相等\n elif i < len(arr2) and item != arr2[i]:\n diff_indexes.append(i)\n\n # 对比第二个数组中多出的元素\n if len(arr2) > len(arr1):\n for i in range(len(arr1), len(arr2)):\n if isinstance(arr2[i], list):\n diff_indexes.append([i])\n else:\n diff_indexes.append(i)\n\n return diff_indexes\n\n\n# 测试示例\narray1 = ['apple', 'banana', ['cat', 'dog', 'elephant'], 'orange']\narray2 = ['banana', 'apple', ['cat', 'dog'], 'grape']\n\nresult = compare_arrays(array1, array2)\nprint(result)\n\n\n输出:\n\n\n[[0], [1], [2, 2], [3]]\n\n\n解释:\n- [0] 表示第一个数组中的第一个元素 'apple' 在第二个数组中的索引不同。\n- [1] 表示第一个数组中的第二个元素 'banana' 在第二个数组中的索引不同。\n- [2, 2] 表示第一个数组中的第三个元素的第二个元素 'dog' 在第二个数组中不存在。\n- [3] 表示第一个数组中的第四个元素 'orange' 在第二个数组中多出来。

Python 脚本比较两个字符串数组:高效定位差异元素索引

原文地址: https://www.cveoy.top/t/topic/pnuX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录