gpt4 book ai didi

python - 从对象列表中获取值

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

我尝试编写一个程序,它将生成给定 X 和 Y 范围内所有可能的位置组合。例如:[A1,A2,A3,B1,...]由于我是 OOP 的新手,所以我在打印这些值时遇到了一些问题。下面是我的代码:

X = ['A','B','C']  
Y = ['1','2','3']

class Combination:
def __init__(self,x,y):
if (x in X) and (y in Y):
self.x = x
self.y = y
else:
print "WRONG!!"

def __str__ (self):
return x+y

class Position:
def __init__(self):
self.xy = []
for i in X:
for j in Y:
self.xy.append(Combination(i,j))
def __str__(self):
return "List contains: " + str(self.xy)

P1 = Position()
print P1

我的结果是:

List contains: [<__main__.Combination object>, <__main__.Combination object>,....

正如我提到的,我希望看到这样的内容:[A1,A2,A3,B1,...]如果我换行:

 self.xy.append(Combination(i,j))

到:

 self.xy.append(i,j)

它工作正常,但我想在那里使用类 Combination。

有人知道怎么做吗?这里有什么问题?

最佳答案

Combinations类中,需要定义__repr__方法,而不是像这样定义__str__

def __repr__ (self):
return self.x+self.y

有了这个改变,输出是

List contains: [A1, A2, A3, B1, B2, B3, C1, C2, C3]

关于python - 从对象列表中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20115088/

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