Çok sayıda öğe için bir jeneratörüm var. Onları bir kerede yinelemek, bir dosyaya vermek istiyorum. Bununla birlikte, şu anda sahip olduğum dosya formatıyla, önce sahip olduğum öğe sayısını çıkarmam gerekiyor. Çok fazla sayıda olduğu ve çok fazla zaman ve hafıza alacağı için, hafızadaki öğelerin listesini oluşturmak istemiyorum. Jeneratör boyunca yinelemenin, uzunluğunun elde edilmesinin bir yolu var mı, ama bir şekilde, daha sonra tekrar tekrar aynı şeyleri elde etmek için, bunu tekrarlamak mümkün mü? Bu sorun için başka ne gibi bir çözüm bulabilirsem?Python: Öğeleri saklamaksızın jeneratördeki öğelerin sayısını alın
cevap
Jeneratörü denetleyen parametrelere göre boyutu hesaplamak için yalnızca bir formülün nasıl yazılacağını öğrenirseniz, bunu yapın. Aksi halde, çok zaman tasarrufu sağlayacağını sanmıyorum.
Jeneratörünü buraya ekleyin, biz de sizin için yapmaya çalışacağız!
Bu yapılamaz. Bir jeneratör tükendiğinde, tekrar kullanılmak üzere yeniden yapılandırılmalıdır. Öğe sayısı önceden biliniyorsa __len__()
yöntemini bir yineleyici nesnesinde tanımlamak mümkündür ve yineleme nesnesine karşı len()
çağrılabilir.
Bu, genelleştirilmiş yineleyici için mümkün olduğunu düşünmüyorum. Jeneratörün orijinal olarak nasıl oluşturulduğunu öğrenmeniz ve daha sonra son geçiş için yeniden üretmeniz gerekecektir.
Alternatif olarak, dosyanıza kukla bir boyut yazabilir, öğeleri yazabilir ve ardından dosyayı değiştirerek yeniden açabilir ve üstbilgideki boyutu düzeltebilirsiniz.
Dosyanız ikili bir biçimse, bu boyut oldukça iyi olabilir, çünkü boyut için bayt sayısı gerçek boyutun ne olduğuna bakılmaksızın aynıdır. Metin biçimiyse, tüm büyüklükleri kapsayacak şekilde kukla boyutunu dolduramazsanız, dosyaya fazladan bir uzunluk eklemeniz gerekebilir. Python'u kullanarak bir metin dosyasına ekleme ve yeniden yazma hakkında bir tartışma için bkz. this question.
- 1. Öğelerin ikisi arasındaki öğelerin karşılaştırılması Öğeleri
- 2. JQuery Sorgulayıcı listesindeki öğelerin sayısını alma
- 3. Her sütunda DataFrame'de farklı öğelerin sayısını bulma
- 4. NASM - yığın içinde öğe sayısını alın
- 5. Tespit Etme Geri Dönüşüm öğeleri öğelerin dışında
- 6. Öğeleri python
- 7. PyQt QComboBox açılır menüdeki görünür öğelerin sayısını belirleme
- 8. Eşleme yöntemini eşleştirerek öğeleri alın
- 9. jQuery DataTable içindeki öğeleri alın
- 10. Python: listenin üzerine çıkarak dict öğeleri verimliliği
- 11. python unicode dize boyutu alın
- 12. sscanf tarafından okunan karakterlerin sayısını alın?
- 13. Ansible: Grupta bulunan grupların sayısını alın
- 14. Toplam düğüm sayısını ve sayma düğümlerini alın
- 15. geçen ay değiştirilen dosyaların sayısını alın
- 16. Sqlite3 execute sonra değiştirilmiş satır sayısını alın
- 17. Bir CloudKit sorgusuyla eşleşen kayıt sayısını alın
- 18. Tablodaki gizli olmayan satırların sayısını alın
- 19. , bir bool dizisindeki doğru (veya yanlış) öğelerin sayısını hesaplar mı?
- 20. Emacs'te fare tamponu menüsündeki öğelerin sayısını nasıl ayarlayabilirim?
- 21. "bu" ve "bu" öğesi arasındaki öğelerin sayısını sayma
- 22. Benzersiz öğelerin oluşum sayısını saymanın daha iyi bir yolu?
- 23. SQLPlus - Satılan öğelerin sayısını azalan sırada görüntüleyen saklı yordam
- 24. Şu anda Forth içinde yığınında düzenlenen öğelerin sayısını nasıl alabilirim ORTAYA
- 25. Tüm öğeleri bir diziden ilk alın ama
- 26. Tüm seçili öğeleri asp.net'den alın. ListBox
- 27. Selenium python Öğelerin oluşturulmasını nasıl beklerim
- 28. Python: Belirli bir liste öğeleri alınıyor
- 29. Redis kümesindeki öğelerin sayısı
- 30. Python parçacığı öğeleri koleksiyona biriktirmek için
ah yep i realiezd kısa süre sonra bunu yayınladım =) – Claudiu