gpt4 book ai didi

Python 嵌套类 - 返回多个值

转载 作者:太空宇宙 更新时间:2023-11-04 10:44:30 25 4
gpt4 key购买 nike

我对 python 中的类还很陌生,所以请保持温和。我的脚本比这复杂一点,但归结起来基本上是这样的:

class primary_state:
def __init__(self,x,y,z):
self.x = x
self.y = y
self.z = z
self.substates=[]

def add_substate(self,i,j,k):
self.substates.append(self.substate(i,j,k))

class substate:
def __init__(self,i,j,k):
self.i = i
self.j = j
self.k = k

state = primary_state(1,2,3)
state.add_substate(4,5,6)
state.add_substate(7,8,9)

现在我的问题是:是否可以从每个对象返回一个值数组?因此,例如我想这样做:

state.substates[:].i

并让它返回 4 和 7 的值,但是 substates 是一个列表,所以它无法处理它。还必须有一种更有效的方法来做到这一点,但我还没有完全弄清楚。任何建议/想法将不胜感激!谢谢。

最佳答案

使用 list comprehension .

[sub.i for sub in state.substates]

这大致等同于以下内容:

x = []
for sub in state.substates:
x.append(sub.i)

除了更短,它是一个可以嵌入其他表达式而不是一系列语句的表达式。

关于Python 嵌套类 - 返回多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18370568/

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