Bir döngü yazmak ve öncekileri hatırlamak çok yaygındır.Bir listedeki mevcut ve önceki öğenin çıkarılması
Bunu benim için yapan bir jeneratör istiyorum. Şu gibi bir şey: çift-çifti çıkarınız.
L = [0, 3, 4, 10, 2, 3]
print list(foo(L))
print [x[1] - x[0] for x in foo(L)]
print map(lambda x: -operator.sub(*x), foo(L)) # SAME
Çıkışlar:
[(0, 3), (3, 4), (4, 10), (10, 2), (2, 3)]
[3, 1, 6, -8, 1]
[3, 1, 6, -8, 1]
- bu işlem için iyi bir adı nedir?
- Bunu yazmanın daha iyi bir yolu nedir?
- Benzer bir şey yapan yerleşik bir işlev var mı?
- 'map' kullanmayı denemek, onu basitleştirmedi. Nedir?
liste anlama zaten trivially basittir ve bunu yapmak için bariz ve doğal yolu:Ayrıca, bu (Python < 3) çalışır. Bundan çok daha karanlık olan 'haritayı' görmek, bunu gözden kaçırdığınızı gösteriyor. Jeneratör işlevi de zaten basit ve basittir. –
http://en.wikipedia.org/wiki/Bigram, n = 2 olduğunda ngram gibi görünüyor. – sunqiang