2012-07-18 136 views
0

我有一段代碼,這是一種被稱爲一個循環在字典中的功能列表,它如下:生產可以排序

hope = [] 
seconds = [] 
hope.append(self.date) 
for those in hope: 
    date = those 
    pattern = '%m/%d/%Y' 
    epoch = int(time.mktime(time.strptime(date, pattern))) 
    seconds.append(epoch) 
    print seconds 

我得到的結果一樣

[1505084400] 
[1500850800] 
[1509926400] 
[1496617200] 
[1492383600] 
[1488758400] 
[1499036400] 
[1511136000] 
[1511136000] 
… 

但我想幾秒鐘的結果是這樣的:

[1505084400,1500850800,1509926400,1496617200,1492383600,1488758400,1499036400,1511136000,1511136000.....] 

這樣的排序和分類功能將進行這項工作。

+2

你'for'循環始終只有一個迭代,因爲'hope'是一個長的名單。看起來對我來說毫無意義,但我不知道這段代碼應該做些什麼。 – 2012-07-18 17:16:36

+1

對於我來說聽起來像'seconds'需要成爲一個成員變量或參數,因爲每次調用方法時,都會創建一個新的'seconds'列表。 – GWW 2012-07-18 17:17:44

+0

下次請發佈完整的課程定義。如果沒有init,我們不得不猜測你的代碼在做什麼的某些部分。我當然假設你使用一個類,因爲在你的代碼中有一個對自己的引用。 – 2012-07-18 17:26:00

回答

0

就拿print語句出來的for循環和保持名單的狀態:

class someclass(object): 
    def __init__(self): 
     self.hope = [] 
     self.seconds = [] 
    def appendtoseconds(self): 
     self.hope.append(self.date) 
     for those in self.hope: 
      date = those 
      pattern = '%m/%d/%Y' 
      epoch = int(time.mktime(time.strptime(date, pattern))) 
      self.seconds.append(epoch) 
     print self.seconds 
+0

'self.seconds'將以這種方法進行二次增長,因爲每次調用appendtoseconds()時都會重申'self.hope'。 – 2012-07-18 17:27:00

+0

的確如此,但由於除了構建可排序的持久列表之外,我們還不知道他正在嘗試完成什麼,所以它仍能合理地回答所提問題 – 2012-07-18 17:29:08