gpt4 book ai didi

python - 应用于列表和整数的星号运算符 (*)

转载 作者:行者123 更新时间:2023-11-28 20:46:28 26 4
gpt4 key购买 nike

<分区>

假设我们有一个 Foo 类,我们想要实例化一个 foos 列表,我们可以按如下方式进行:

foo_list = [Foo()] * 3

现在如果我们执行 foo_list[0].x = 5 会怎样?此语句会将属性 x 设置为列表中的所有实例!!!

当我发现这一点时,我大吃一惊。问题是,当我们创建一个这样的列表时,显然 python 会首先创建 Foo 实例,然后是列表实例,然后将相同的对象附加到它 3 次,但我真的很期待它做这样的事情:

foo_list = [Foo() for i in range(3)]

你不是吗?好吧,现在我知道这个语法糖肯定不能像我想的那样使用,但是,它有什么用呢?我唯一能想到的是创建一个初始大小如下的列表:list = [None] * 5,对于 python,这对我来说意义不大。

这个语法还有其他真正有用的用例吗?

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