2015-11-03 58 views
0

我正在創建一個測試模塊,最終使用python導入到更大的程序中。在Python中刪除元組中的大括號

我的測試模塊使用tkinter小部件來顯示按下按鈕時增加的數字列表。

import tkinter 
import math 

#Defining Variables 

global Counter 
Counter = 0 
global ArrayDisplay1 
ArrayDisplay1 = Counter 


#Defining the GUI 
class simpleapp_tk(tkinter.Tk): 
    def __init__(self, parent): 
     tkinter.Tk.__init__(self, parent) 
     self.parent = parent 
     self.initialise() 

    def initialise(self): 

     #Creating the GUI 

     self.grid() 
     self.resizable(False, False) 

     self.labelVariableArray3 = tkinter.StringVar() 
     ArrayLabel3 = tkinter.Label(self, textvariable=self.labelVariableArray3, anchor='w',bg='white') 
     ArrayLabel3.grid(column=2, row=5, columnspan=5, sticky='EW') 
     self.labelVariableArray3.set("") 

     ArrayButton2 = tkinter.Button(self, text=u"Next Number", command=self.ArrayClick2) 
     ArrayButton2.grid(column=2, row=3, sticky='EW') 


    def ArrayClick2(self): 
     global Counter 
     global ArrayDisplay1 
     Counter = Counter + 1 
     if Counter == 1: 
      ArrayDisplay1 = (Counter) 
      self.labelVariableArray3.set(ArrayDisplay1) 
     else: 
      ArrayDisplay1 = (ArrayDisplay1, ",", Counter) 
      self.labelVariableArray3.set(ArrayDisplay1) 




if __name__ == "__main__": 
    app = simpleapp_tk(None) 
    app.title('Arrays, Sorts and Searches') 
    app.mainloop() 

我的問題在於'ArrayClick2'模塊。 我寫的代碼希望有輸出是:

1,2

1,2,3 等。但是我代替得到:

1,2

{1,2},3

{{1,2},3},4 等等。 我嘗試使用替換和帶,但這些似乎都不能與一個元組一起工作。有人能告訴我用另一種方式來創建這個列表,或者只是刪除括號嗎?

此外,我已經被程序開發負責人告知,我不能使用名爲list的python函數,因爲某些原因,我無法理解它與主程序不兼容。

回答

0

你可以連接使用+的元組,例如tuple0 = tuple0 + (element,)

要從元組得到你的結果,你可以使用加入

''.join(str(element) + ',' for element in ArrayDisplay1)[:-1]

[:-1]到最後一個元素是,

無需更改代碼忽略,變化是:

第9行:ArrayDisplay1 = (Counter,) ArrayDisplay1必須是元組

if else語句在ArrayClick2功能:

if Counter == 1: 
     ArrayDisplay1 = (Counter,) 
     self.labelVariableArray3.set(ArrayDisplay1) 
else: 
     ArrayDisplay1 +=(Counter,) 
     self.labelVariableArray3.set(''.join(str(i)+',' for i in ArrayDisplay1)[:-1]) 

我希望它會有用。

+0

我該在什麼時候將其實現到代碼中?我不熟悉這個功能,我不知道它是如何工作的。 –

+0

感謝您的幫助。我試圖做到這一點,所以逗號和最近的數字之間有一個空格,但是這只是在錯誤的地方造成了另一個逗號。有沒有辦法做到這一點,還是我只需要處理它呢? –

+0

沒關係我想通了。再次感謝 –