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

如何在列表推导式中引用random生成的元素并计算平方

使用列表推导式实现随机数及平方生成需求

当然可以用列表推导式实现你的需求,核心是先获取每组的两个随机数,再复用它们构造包含平方值的内层列表。以下是几种可行的写法:

方法1:通过临时元组复用随机值

这种写法清晰直观,先生成包含两个随机数的元组,再扩展为包含平方值的列表:

import random

full_list = [[a, b, a**2, b**2] for _ in range(100000) for a, b in [(random.randint(0, 10), random.randint(0, 10))]]

方法2:使用海象运算符(Python 3.8+)

如果你的Python版本支持海象运算符:=,可以更简洁地在推导式内直接赋值:

import random

full_list = [[a, b, a**2, b**2] for _ in range(100000) if (a := random.randint(0,10)) or (b := random.randint(0,10))]

这里用or是为了确保两个赋值语句都执行——即使a生成0(布尔值为假),or会继续执行b的赋值操作。

方法3:扩展临时元组

也可以先生成随机数元组,再拼接平方值的列表:

import random

full_list = [list(t) + [t[0]**2, t[1]**2] for _ in range(100000) for t in [(random.randint(0,10), random.randint(0,10))]]

这些写法和你原来的for循环逻辑完全一致,生成的每个内层列表都是[随机数1, 随机数2, 随机数1², 随机数2²]的结构,效率和循环版本相当,甚至略高。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 09:52:15