是否有可能在Python中使用slice在具有对象字段的复杂对象列表中



我是Python新手,使用python3。我有一个列表og对象类型点

class Po:
def __init__(self, x: int, y: int):
self.x = x
self.y = y
C = [Po(0, j) for j in range(10)]

和二维数组

m = [[j for i in range(2)] for j in range(10)]

我想把C中的所有字段x赋值给从m开始索引为0的值,比如

C[:].x = m[:][0]

但是python说list没有字段x。我怎么能做到这一点,为什么我不能这样访问x

在Python中没有特定的语法。你只需要使用一个常规的for循环。

for ci, mi in zip(C, m):
ci.x = mi[0]

你的"实例本身是一个列表,因此为了访问它的x或y值,您需要首先调用索引。所以你可以这样访问它们:

for i in range(10):
print(C[i].x)
print(C[i].y)

最新更新