You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对用户输入指定的arr_1元素及arr_2对应同位置元素同步随机重排

实现方案

核心思路

不需要打乱整个数组,只要把目标位置的元素从两个数组中同步取出,再插入到同一个随机生成的新位置即可,步骤如下:

  • 先定位用户选中元素在arr_1中的原始索引
  • 分别从arr_1和arr_2中弹出该索引位置的元素
  • 生成合法的随机新索引
  • 把弹出的两个元素同步插入到两个数组的新索引位置

代码实现

import random

# 初始化数组
arr_1 = [2, 4, 6, 32]
arr_2 = [56, 45, 12, 65]

# 接收用户输入
target = input("请输入arr_1中要移动的元素:")
# 按数组元素类型转换输入,这里原数组为int类型,若元素是其他类型可按需调整
try:
    target = int(target)
    original_idx = arr_1.index(target)
except ValueError:
    print("输入的元素不存在于arr_1中")
else:
    # 弹出两个数组对应位置的元素
    val1 = arr_1.pop(original_idx)
    val2 = arr_2.pop(original_idx)
    # 生成随机新索引,范围覆盖所有合法插入位置
    new_idx = random.randint(0, len(arr_1))
    # 同步插入到新位置
    arr_1.insert(new_idx, val1)
    arr_2.insert(new_idx, val2)

    # 输出结果
    print("移动后的arr_1:", arr_1)
    print("移动后的arr_2:", arr_2)

注意事项

  • 如果arr_1中存在重复元素,list.index()只会返回第一个匹配元素的索引,这种场景建议让用户直接选择元素索引而非输入元素值,避免匹配错误
  • 插入新索引的取值范围必须是0到pop操作后的数组长度,否则会报索引越界错误

内容的提问来源于stack exchange,提问作者Jen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 04:54:03