Преобразовать кортеж в строку

Я знаю, что ранее задавались вопросы о кортежах, но я не понимаю, как они это объясняют, поэтому я пытаюсь получить объяснение на своем примере. Поэтому мне нужно преобразовать точки кортежа в строку, чтобы заполнить ее в последней строке после "полученных данных". Это скрипт:

def on_pick(self, event):

    print('On Pick!')

    thisline = event.artist
    xdata = thisline.get_xdata()
    ydata = thisline.get_ydata()
    ind = event.ind
    print(ind)

    points = tuple(zip(xdata[ind], ydata[ind]))
    print('onpick points:', points)

    QtGui.QMessageBox.information(self, "Click!", 'got data' + points)

вызов

self.canvas.mpl_connect('pick_event', self.on_pick)

и результат должен быть таким, как я уже описал:

QtGui.QMessageBox.information(self, "Click!", 'got data' + points)

Итак, где точки написаны в последней строке, я хочу заполнить строку точек кортежа. Я новичок в питоне, так что не ненавидь меня:D

2 ответа

Решение

Если данные каждого элемента в кортеже string типа, чем вы можете просто сделать:

" ".join(points)

где ваш код должен выглядеть примерно так:

QtGui.QMessageBox.information(self, "Click!", 'got data' + " "join(points))

где как будто есть int или же float типы, чем, возможно, карта str или просто напечатать их по одному.

Как насчет

myString = "got data %s, %s" % (str(xdata),str(ydata))
QtGui.QMessageBox.information(self, "Click!", myString)

или если xdata является кортежем

myString = "got data %s, %s" % (str(xdata[0]),str(xdata[1]))

a = (1,2)
b = "asdf %s %s" % (str(a[0]),str(a[1]))
Другие вопросы по тегам