Pertanyaan yang diberi tag «generator»

Generator adalah generalisasi dari subrutin, terutama digunakan untuk menyederhanakan penulisan iterator. Pernyataan hasil dalam generator tidak menentukan coroutine untuk melompat, tetapi memberikan nilai kembali ke rutin induk.





7
Apakah ada ekspresi untuk generator tak terbatas?
Apakah ada ekspresi generator lurus ke depan yang dapat menghasilkan elemen tak hingga? Ini adalah pertanyaan teoritis murni. Tidak perlu jawaban "praktis" di sini :) Misalnya, mudah membuat generator terbatas: my_gen = (0 for i in xrange(42)) Namun, untuk membuat yang tak terbatas, saya perlu "mencemari" namespace saya dengan fungsi …

12
Pola generator C ++ ke Python yang setara
Saya punya beberapa contoh kode Python yang perlu saya tiru di C ++. Saya tidak memerlukan solusi khusus apa pun (seperti solusi hasil berbasis rutin bersama, meskipun itu akan menjadi jawaban yang dapat diterima juga), saya hanya perlu mereproduksi semantik dengan beberapa cara. Python Ini adalah generator urutan dasar, yang …



3
Python: menggunakan algoritma rekursif sebagai generator
Baru-baru ini saya menulis sebuah fungsi untuk menghasilkan urutan tertentu dengan batasan nontrivial. Masalahnya datang dengan solusi rekursif alami. Sekarang kebetulan, bahkan untuk input yang relatif kecil, urutannya beberapa ribu, jadi saya lebih suka menggunakan algoritme saya sebagai generator daripada menggunakannya untuk mengisi daftar dengan semua urutan. Berikut ini contohnya. …

9
Fungsi Generator Kosong Python
Dalam python, seseorang dapat dengan mudah mendefinisikan fungsi iterator, dengan meletakkan kata kunci hasil di badan fungsi, seperti: def gen(): for i in range(100): yield i Bagaimana saya bisa mendefinisikan fungsi generator yang tidak menghasilkan nilai (menghasilkan 0 nilai), kode berikut tidak berfungsi, karena python tidak dapat mengetahui bahwa itu …
99 python  generator 

8
Python: ekspresi generator vs. hasil
Di Python, apakah ada perbedaan antara membuat objek generator melalui ekspresi generator versus menggunakan pernyataan yield ? Menggunakan hasil : def Generator(x, y): for i in xrange(x): for j in xrange(y): yield(i, j) Menggunakan ekspresi generator : def Generator(x, y): return ((i, j) for i in xrange(x) for j in …

4
enumerate () - membuat generator dengan Python
Saya ingin tahu apa yang terjadi ketika saya meneruskan hasil dari fungsi generator ke enumerate () python. Contoh: def veryBigHello(): i = 0 while i < 10000000: i += 1 yield "hello" numbered = enumerate(veryBigHello()) for i, word in numbered: print i, word Apakah pencacahan diulangi dengan malas, atau apakah …

7
Generator Zip Python dengan yang ke-2 lebih pendek: cara mengambil elemen yang dikonsumsi secara diam-diam
Saya ingin menguraikan 2 generator dengan (berpotensi) berbeda panjang dengan zip: for el1, el2 in zip(gen1, gen2): print(el1, el2) Namun, jika gen2memiliki lebih sedikit elemen, satu elemen tambahan gen1adalah "dikonsumsi". Sebagai contoh, def my_gen(n:int): for i in range(n): yield i gen1 = my_gen(10) gen2 = my_gen(8) list(zip(gen1, gen2)) # Last …

5
Kembali atau hasilkan dari fungsi yang memanggil generator?
Saya punya generator generatordan juga metode kenyamanan untuk itu - generate_all. def generator(some_list): for i in some_list: yield do_something(i) def generate_all(): some_list = get_the_list() return generator(some_list) # <-- Is this supposed to be return or yield? Haruskah generate_all returnatau yield? Saya ingin para pengguna kedua metode untuk menggunakannya sama, yaitu …

3
Paling menghasilkan Pythonic callable Benar?
Kelas collections.defaultdictmengambil pabrik default, yang digunakan untuk menghasilkan nilai default. Jika nilai-nilai yang terkandung dalam objek- dictlike seharusnya default False, instance dapat dibuat sebagai: d_false = defaultdict(bool) Apa cara paling pythonic untuk mencapai hal yang sama untuk nilai default True? Dengan kata lain, apakah ada objek callable standar Trueyang kembali …
11 python  generator 

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.