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

Python3中如何判断随机选取的变量是否存在于指定列表中

Python 3 判断变量是否存在于列表的方法

核心判断逻辑直接使用变量 in 目标列表的语法即可,该表达式会返回布尔值,存在返回True,不存在返回False。

你提供的示例代码无法得到预期输出,存在几个可修复的问题:

  • 未导入random模块,调用random.choice会直接报错
  • 变量作用域错误:TankPick函数内赋值的Tank是局部变量,全局的Tank始终是空元组,BalancePick读取到的一直是空元组,判断逻辑永远不成立
  • 拼写错误:Artemis缺字符串引号,MageList、HunterList调用时写成了小写的Magelist、Hunterlist,Python大小写敏感会触发变量未定义错误
  • 随机选择范围不符合预期:原TankPick仅从WarriorList选角色,永远不会出现你预期的选到Ymir的情况

修正后可直接运行的代码如下:

import random

WarriorList = ['Achilles', 'Sun Wukong']
GuardianList = ['Ares', 'Ymir']
HunterList = ['Apollo', 'Artemis']
MageList = ['Anubis', 'ra']

Tank = ""

def TankPick():
    global Tank
    # 合并战士和守卫列表作为坦克可选池,匹配两种预期输出场景
    Tank = random.choice(WarriorList + GuardianList)
    print(Tank)

def BalancePick():
    if Tank in WarriorList:
        print('yes')
        print(random.choice(MageList))
    else:
        print('no')
        print(random.choice(HunterList))

# 执行函数
TankPick()
BalancePick()

运行后会匹配你给出的两种预期输出:
情况1(选中战士列表角色)输出示例:

Sun Wukong
yes
ra

情况2(选中守卫列表角色)输出示例:

Ymir
no
Artemis

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 12:06:04