首页 > 解决方案 > 将单独列表中的 X 和 Y 坐标分配到元组中

问题描述

我正在开发一个使用 X 和 Y 数据构建图表的软件。

我创建了 2 个包含 X 和 Y 坐标的列表。我正在尝试分配X[0]Y[0]形成一对这样的坐标:tuple(X[0],Y[0])但我发现了这个错误:

TypeError:“元组”对象不可调用

这是我的代码:

import random

first_data = ['S1',0,100]
X = ['','','','','','','','','']
Y = ['','','','','','','','','']
coordinates = ()

class SeriesGenerator:
        
    def generate_random(self):
        minV = first_signal[1]
        maxV = first_signal[2]
        for i in range(9):
            X[i] = minV+(maxV-minV)*random.random()
            Y[i] = minV+(maxV-minV)*random.random()
        return X,Y
    
    def create_axes(self):
        for e in Y:
            for u in X:
                coordinates(u,e)
                
        print(coordinates)
        
        
SeriesGenerator().create_axes()

标签: python

解决方案


在您的代码coordinates中是一个带有 value 的元组(),您正在尝试调用它。Python 没有元组的调用运算符,因此出现错误。你可能想要的是类似的东西

import random

first_data = ['S1',0,100]
X = ['','','','','','','','','']
Y = ['','','','','','','','','']
coordinates = []

class SeriesGenerator:
        
    def generate_random(self):
        minV = first_signal[1]
        maxV = first_signal[2]
        for i in range(9):
            X[i] = minV+(maxV-minV)*random.random()
            Y[i] = minV+(maxV-minV)*random.random()
        return X,Y
    
    def create_axes(self):
        for e in Y:
            for u in X:
                coordinates.append((u,e))
                
        print(coordinates)
        
        
SeriesGenerator().create_axes()

推荐阅读