gpt4 book ai didi

python - 理解 *x ,= lst

转载 作者:IT老高 更新时间:2023-10-28 21:37:41 26 4
gpt4 key购买 nike

我正在浏览一些旧代码,试图了解它的作用,我遇到了这个奇怪的声明:

*x ,= p

p 是此上下文中的列表。我一直在试图弄清楚这句话的作用。据我所知,它只是将 x 设置为 p 的值。例如:

p = [1,2]
*x ,= p
print(x)

只是给

[1, 2]

那么这与 x = p 有什么不同吗?知道这个语法在做什么吗?

最佳答案

*x ,= p 基本上是 x = list(p) 的混淆版本,使用 extended iterable unpacking . x 之后的逗号用于使赋值目标成为一个元组(不过它也可以是一个列表)。

*x, = p isx = p 不同,因为前者会创建 copyp (即一个新列表),而后者创建对原始列表的 reference。举例说明:

>>> p = [1, 2]
>>> *x, = p
>>> x == p
True
>>> x is p
False
>>> x = p
>>> x == p
True
>>> x is p
True

关于python - 理解 *x ,= lst,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43190992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com