的元組的列表,什麼是使用zip
做一個簡單的方法:獲取鄰居
Input: (1,2,3,4,5)
Output: ((1,2),(2,3),(3,4),(4,5))
編輯:是的,一般的ngram解決方案是相似的,但過於冗長對於這樣一個簡單的任務。看到下面的答案,看看爲什麼。
的元組的列表,什麼是使用zip
做一個簡單的方法:獲取鄰居
Input: (1,2,3,4,5)
Output: ((1,2),(2,3),(3,4),(4,5))
編輯:是的,一般的ngram解決方案是相似的,但過於冗長對於這樣一個簡單的任務。看到下面的答案,看看爲什麼。
你可以使用列表理解或發電機表達初始化元組:
>>> x = (1, 2, 3 4, 5)
>>> tuple((x[i], x[i+1]) for i in range(len(x)-1))
((1, 2), (2, 3), (3, 4), (4, 5))
或者用切片:
>>> tuple(x[i:i+2] for i in range(len(x)-1))
((1, 2), (2, 3), (3, 4), (4, 5))
切片也可以用'x [i:i + 2]'代替'(x [i],x [i + 1])' – Delgan
in = (1, 2, 3, 4, 5)
out = tuple([(in[i], in[i+1] for i in range(len(in) - 1)])
print(out)
>> ((1, 2), (2, 3), (3, 4), (4, 5))
另一種可能性
x = (1,2,3,4,5)
tuple([(a,b) for a,b in zip(x[:-1],x[1:])])
你確實意識到列表comp是沒有意義的嗎? '元組(zip(x [: - 1],x [1:]))''很好。 –
@StevenSummers我現在做。 – zephyr
什麼做你*電流*的方式? – jonrsharpe
另一個相關文章[快速實現字符n-gram使用python](http://stackoverflow.com/q/18658106/4099593) –
ngram解決方案顯然是超級解決方案,但一些實現是字符串特定的沒有一個像以下那樣簡單。 – T3db0t