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

Jupyter Notebook中如何将Python字符串列表传入%%bash单元格

在Jupyter Notebook中传递Python列表到%%bash单元格的正确方法

当直接传递Python列表{messages}时,bash会把列表的字符串表示(比如['hello', 'there'])当成单个参数,按空格拆分后得到错误的元素。要正确传递列表元素,需要把每个元素作为独立参数传入bash:

步骤1:定义Python列表

messages = ['hello', 'there']

步骤2:在bash单元格中展开列表元素

使用{messages[*]}展开列表的所有元素,作为bash的多个位置参数,然后用"$@"遍历所有参数:

%%bash -s {messages[*]}
for i in "$@"
do
    echo "$i"
done

关键细节

  • {messages[*]}会将Python列表的元素展开为空格分隔的字符串,每个元素对应bash的一个位置参数。
  • 用双引号包裹"$@"可以确保带空格的列表元素(比如['hello world', 'test'])被正确识别为单个元素,不会被bash按空格拆分。

如果不用展开语法,直接传{messages},bash会接收整个列表的字符串形式,拆分后得到[hello,、'there']这类错误的元素,这就是你之前只输出[hello,的原因。

内容的提问来源于stack exchange,提问作者Martin David Grunnill

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 03:02:33