2015-02-05 92 views
-2
def ListCreate(*args): 
    items = none 
    for i in range(len(args)-1,-1,-1): 
     items = join(args[i], items) 
    return items 

a = ListCreate(1,2,3,4,5,6) 
b = ListCreate(20150602, 20150603, 20150604, 20150605, 20150606, 20150607) 

列表是有序的,所以我想在element 0列表名單B與element 0對應。 即與循環和搜索Python列表條件語句在Python

(1,20150602)(2,20150603)(3,20150604) 
    #etc 

現在,我想創建一個搜索循環,詢問if a(n)==a(n+1) and b(n+1) - b(n) <= 3 ...打印有條件保持真實的所有元素。

+0

所以...你想'zip'?另外,當你可以做'a = [1,2,3]'時,爲什麼'a = ListCreate(1,2,3)'? – Kevin 2015-02-05 19:18:40

+0

我認爲這是創建鏈表的一部分代碼,而不是常規的Python列表。可能是編程練習。如果是這種情況,幾乎不可能在看不到更多關於你的列表結構的問題的情況下回答這個問題,例如,什麼「加入」呢。 – 2015-02-05 19:21:22

+0

設置使用ListCreate操作創建結果列表的可能性.........是的,讓列表「壓縮」也是我正在尋找的。 – fORzoas 2015-02-05 19:22:01

回答

0

這是很難理解你想要的輸出,但是這是我最好的猜測:

 In [39]: 

a = [1,1,3,4,4,6] 
b = [20150602, 20150603, 20150604, 20150605, 20150606, 20150607] 
c = zip(a, b) 

print c 
for i in range(0, len(c)-1): 
    if c[i][0] == c[i+1][0] and c[i+1][1] - c[i][1] <= 3: 
     print c[i] 



[(1, 20150602), (1, 20150603), (3, 20150604), (4, 20150605), (4, 20150606), (6, 20150607)] 
(1, 20150602) 
(4, 20150605) 
+0

第一次迭代你工作得更好,但非常感謝你。如果我有任何代表,我會贊成 – fORzoas 2015-02-05 19:42:59

+0

謝謝@fORzoas。我將代碼更新爲第一版。如果有幫助請接受答案。 – Andrew 2015-02-05 19:44:01