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

向函数传递字符串时引号引发问题的解决方案咨询

问题解决:正确向函数传递多参数变量

问题本质

你第二种写法里,group是单个字符串,调用pool.get_players(group)时,函数只会收到这一个参数,而非你期望的6个名字参数——这才是报错的核心,和引号本身无关。

解决方案

方案1:直接用列表/元组存储名字(推荐)

不要把名字拼成带引号的字符串,直接用列表或元组存储,再用*操作符解包成多个参数传递:

# 用列表存储名字
group = ['Trevor Zegras', 'Adam Henrique', 'Troy Terry', 'Cam Fowler', 'Dmitry Kulikov', 'John Gibson']
# 用*解包,将列表元素作为单独参数传给函数
players = pool.get_players(*group)

# 用元组也可以,效果完全一致
group = ('Trevor Zegras', 'Adam Henrique', 'Troy Terry', 'Cam Fowler', 'Dmitry Kulikov', 'John Gibson')
players = pool.get_players(*group)

方案2:如果group已经是带引号的字符串(需解析)

如果group是从外部获取的带引号拼接字符串,可以通过以下两种方式解析:

方式A:用ast.literal_eval安全解析

import ast
# 假设这是你拿到的带引号字符串
group_str = "'Trevor Zegras', 'Adam Henrique', 'Troy Terry', 'Cam Fowler', 'Dmitry Kulikov', 'John Gibson'"
# 把字符串转成元组
group = ast.literal_eval(f"({group_str})")
# 解包传递参数
players = pool.get_players(*group)

方式B:字符串分割处理

group_str = "'Trevor Zegras', 'Adam Henrique', 'Troy Terry', 'Cam Fowler', 'Dmitry Kulikov', 'John Gibson'"
# 按', '分割字符串,再去掉每个元素的单引号
group = [name.strip("'") for name in group_str.split(', ')]
players = pool.get_players(*group)

为什么你之前的尝试失败

  • 单纯移除引号:得到的是Trevor Zegras, Adam Henrique...这样的单个字符串,函数依然只收到一个参数。
  • 直接转元组:tuple(group_str)会把字符串的每个字符拆成元组元素,完全不是你需要的名字集合。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 16:20:22