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

Python中能否将原地操作与赋值操作合并在一行代码中?

Python中能否将原地操作与赋值合并为一行?

首先要明确:像result = ['a', 'b'].append('c')这种写法得到None,是因为append()是原地修改列表的方法,它的返回值固定为None,所以直接赋值给变量的话,变量只会拿到None。

如果要把“创建列表+原地修改”合并为一行,有两种可行方式:

  • 方式一:使用列表拼接(生成新列表)
    这种方式不是原地操作,但能一行得到目标列表,可读性较好:

    result = ['a', 'b'] + ['c']
    

    执行后result的值为['a', 'b', 'c']。

  • 方式二:利用lambda表达式实现原地修改后返回列表
    这种写法能模拟“原地修改+赋值”的一行操作,但可读性较差,不推荐日常使用:

    result = (lambda lst: lst.append('c') or lst)(['a', 'b'])
    

    原理是append()返回None,or运算符会返回后面的lst(修改后的原列表),最终result得到修改后的列表。

不过需要注意:Python代码风格优先强调可读性,分两行的写法(先赋值再调用append())更清晰易懂,除非有特殊场景需求,否则没必要强行合并为一行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 20:22:03