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

如何用Python 3.x的random.choice随机选取符合子数组条件的对象数组元素

解决方案

可以通过「筛选符合条件的对象 + 随机选取」两步实现需求:

1. 筛选符合条件的纹理对象

先用列表推导式从原数组中过滤出所有apply_to属性包含'wall'的对象:

import random

textures = [
    {"id": 1, "name": "cement", "apply_to": ["wall", "basement"]},
    {"id": 2, "name": "fabric", "apply_to": ["window"]},
    {"id": 3, "name": "brick", "apply_to": ["wall"]},
    # 其他更多对象...
]

# 过滤出可应用于wall的纹理
wall_eligible_textures = [tex for tex in textures if 'wall' in tex['apply_to']]

2. 随机选取目标对象

用random.choice()从筛选后的列表中随机抽取一个对象即可。建议先判断筛选结果是否为空,避免出现IndexError:

if wall_eligible_textures:
    selected = random.choice(wall_eligible_textures)
    print(selected)  # 随机输出id为1或3的对象(或其他符合条件的对象)
else:
    print("没有找到可应用于wall的纹理对象")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 11:01:07