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

如何在Python嵌套列表中随机选4个元素打乱且其余元素位置不变?

解决方案

要实现仅随机选取子列表中的4个元素打乱顺序、其余元素位置不变的需求,可以通过以下步骤修改代码:

  1. 为每个子列表随机生成4个不重复的索引
  2. 提取这些索引对应的元素并打乱
  3. 将打乱后的元素放回原索引位置

修改后的完整代码:

import random

Bestsmell = (
    [[1,2,3,4,5,6,7,8,9,10], [1,2,3,4,5,6,7,8,9,10], [1,2,3,4,5,6,7,8,9,10]],
    [[6,7,8,9,10,11,12,13,14,15], [6,7,8,9,10,11,12,13,14,15], [6,7,8,9,10,11,12,13,14,15]]
)

# 处理第一个分组中的所有子列表
for sublist in Bestsmell[0]:
    # 随机选取4个不重复的索引
    selected_indices = random.sample(range(len(sublist)), 4)
    # 获取选中索引对应的元素
    selected_elements = [sublist[i] for i in selected_indices]
    # 打乱选中的元素
    random.shuffle(selected_elements)
    # 将打乱后的元素放回原索引位置
    for idx, pos in enumerate(selected_indices):
        sublist[pos] = selected_elements[idx]

# 验证结果(可选)
print(Bestsmell[0])

代码说明

  • random.sample(range(len(sublist)), 4):从子列表的所有索引中随机挑选4个不重复的索引,确保不会重复选中同一个位置。
  • selected_elements = [sublist[i] for i in selected_indices]:提取选中位置的元素到临时列表。
  • random.shuffle(selected_elements):打乱临时列表中的元素顺序。
  • 最后通过循环将打乱后的元素逐一放回原索引位置,保证其他元素的位置不受影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 21:13:14