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

如何用Python单行代码生成W、B交替的4000长度列表?

用Python单行代码生成4000个交替"W"/"B"列表的可行方案

你给出的代码无效是因为用了C系语言的三元运算符语法(条件)? 真值 : 假值,Python不支持这种写法,但完全可以用单行代码实现需求,下面是几种可行方案:

  • 修正列表推导式(最贴近原思路)
    把C风格三元表达式改成Python支持的真值 if 条件 else 假值语法:

    colors = ["W" if i % 2 == 0 else "B" for i in range(4000)]
    

    遍历range(4000)的每个索引,偶数索引(从0开始)存入"W",奇数索引存入"B",最终得到4000个元素的交替列表。

  • 序列乘法(最简洁高效)
    利用Python的序列乘法特性,直接重复基础交替序列:

    colors = ["W", "B"] * 2000
    

    因为["W", "B"]是2个元素,乘以2000后刚好得到4000个元素,完美实现交替排列,这种方法无需循环判断,性能最优。

  • itertools.cycle实现
    借助itertools的cycle函数生成无限循环的交替序列,再截取前4000个元素:

    from itertools import cycle
    colors = list(cycle(["W", "B"]))[:4000]
    

    适合需要动态生成更长序列的场景,但需要额外导入模块。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 20:30:46