2014-03-12 32 views
0

我想爲while循環的每個迭代創建一個唯一的集合。此while循環嵌套在進行曆元轉換等的for循環中,並創建一個列表,其中包含與該列表中特定條目相關聯的值。爲每個循環的迭代動態創建一個新的集合

我想在嵌套的時候,爲正在生成的值創建一個唯一的集合,我不知道如何處理這個問題,因爲我一直在使用字典,但這並不是' t似乎是我正在尋找的東西。

當前形式的代碼是在這裏:

for(call_start_time, call_end_time, sid) in cursor: 
    call_delta = divmod((call_end_time - call_start_time).total_seconds(), 60) 
    call_start_epoch = mktime(call_start_time.timetuple()) 
    call_end_epoch = mktime(call_end_time.timetuple()) 
    call_duration = (call_end_time - call_start_time).total_seconds() 
    list_test = (sid, call_start_epoch, call_end_epoch, call_duration) 

    while call_start_epoch <= call_end_epoch: 
     call_duration_two = call_start_epoch + 60 
     call_start_epoch += 60 
     call_range_set.add(call_duration_two) 

我還沒有與試圖解決這個問題很成功,我會很感激這個任何意見。

+0

我可能會誤解你(如果那時請澄清你的問題),但是爲每個值創建「唯一集合」意味着每個集合都有一個單值? –

+0

對不起,爲while循環中生成的值創建一個唯一集合。我會更新主帖。 – Jreed

回答

0

爲什麼不使用,以及... Set

from sets import Set 
... 
call_range_set = Set() 
while call_start_epoch <= call_end_epoch: 
    call_duration_two = call_start_epoch + 60 
    call_start_epoch += 60 
    call_range_set.add(call_duration_two) 
... 

欲瞭解更多信息,這裏的official documentation

+0

我正在使用一個集合,它是在我的代碼中定義和設置的。我試圖爲循環的每次迭代創建一個獨特的集合,我不確定如何在Python中做到這一點,如果這是正確的選擇,如果我可以做更少的事情.....可怕的。 – Jreed

+0

但是這個(上面的代碼)會爲for循環的每次迭代創建一個唯一的集合。換句話說,它將在while循環運行之前創建一個集合,添加while循環生成的所有內容,然後您可以隨意使用該集合執行任何您想要的操作。一個新的集合將再次爲下一個循環迭代創建,等等。 – slider

+0

哦,哇,對不起,我錯過了...之後,並認爲創建的是在程序的頂部,而不是在循環本身。我會測試一下。 編輯:它做我想要的,哇,感謝指向我在我想要的方向。 – Jreed

相關問題