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

如何用while和for循环从原始列表生成随机元素对列表?

解决方案

直接用while循环控制原列表的清空过程,内部用for循环每次抽取2个随机元素,代码实现如下:

import random

# 初始化原始列表和新列表
lst = ['ab', 'cd','ef', 'gh', 'ij', 'mn', 'op', 'qr', 'st', 'uv', 'wx', 'yz']
new_list = []

# 循环直到原始列表为空
while lst:
    current_pair = []
    # 循环2次,每次取一个随机元素
    for _ in range(2):
        # 生成当前列表范围内的随机索引
        random_idx = random.randint(0, len(lst) - 1)
        # 移除并获取该索引对应的元素
        selected_element = lst.pop(random_idx)
        current_pair.append(selected_element)
    # 将元素对转为元组,添加到新列表
    new_list.append(tuple(current_pair))

# 输出结果
print("配对后的新列表:", new_list)
print("清空后的原始列表:", lst)

关键逻辑说明

  • while lst:只要原始列表不为空,就持续执行配对操作。
  • lst.pop(random_idx):通过随机索引直接从原列表移除元素,同时返回该元素,既修改了原列表长度,又拿到了要配对的元素。
  • 内部for循环执行2次,每次抽取一个元素,凑成一对后转为元组存入新列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:15:33