Cara menggunakan .NEXT pada Python

Skip to content

Deskripsi

Fungsi next() berfungsi untuk mengembalikan item selanjutnya dari suatu iterator.


Sintaks

Fungsi next() memiliki sintaks seperti berikut:

next(iterator, default)

Parameter

Fungsi next() memiliki dua buah parameter, yaitu:

  • iterator – fungsi next() mengambil item selanjutnya dari iterator ini
  • default (Opsional) – Nilai yang dikembalikan jika item sudah habis (tidak ada lagi item yang tersisa

Nilai Kembalian

Fungsi next() mengembalikan nilai berikutnya dari sebuah iterator. Jika iteratornya habis, maka nilai default yang akan dikembalikan. Bila nilai default tidak disediakan, maka saat tidak ada lagi item dalam iterator, maka fungsi ini akan memunculkan error StopIteration.


Contoh

random = [5, 9, 'kucing'] # mengubah list menjadi iterator random_iterator = iter(random) print(random_iterator) # Output: 5 (item pertama) print(next(random_iterator)) # Output: 9 print(next(random_iterator)) # Output 'kucing' print(next(random_iterator)) # Error karena item sudah habis print(next(random_iterator))


Output

Output dari program di atas adalah seperti berikut:

<list_iterator object at 0x7f62c0470748>
5
9
kucing

Traceback (most recent call last):
 File "<stdin>", line 17, in <module>
 print(next(random_iterator))
StopIteration

Python next() adalah fungsi bawaan yang mengembalikan item berikutnya dari iterator. Fungsi next() digunakan untuk mengambil item berikutnya dari koleksi. Dibutuhkan dua argumen sebuah iterator dan nilai default dan mengembalikan sebuah elemen. Metode ini memanggil iterator dan memunculkan kesalahan jika tidak ada item. Untuk menghindari kesalahan, kita dapat menetapkan nilai default.



dimana saya bisa membeli bayi serigala

Python berikutnya()

Metode Python next() mengembalikan elemen berikutnya dari daftar, jika tidak ada akan mencetak nilai default. Jika nilai default tidak ada, naikkan kesalahan StopIteration. Anda dapat menambahkan nilai pengembalian default, untuk mengembalikan jika iterable telah mencapai akhir.

#python #python selanjutnya



Cara menggunakan .NEXT pada Python

appdividend.com

Fungsi Python next() mengembalikan item berikutnya dari iterator. Tambahkan nilai pengembalian default, untuk mengembalikan jika iterable telah mencapai akhir.

dimana beli drgn

Estimasi Waktu Baca: < 1 menit

Deskripsi Fungsi

Fungsi next() digunakan untuk mendapatkan item berikutnya dari iterator.

Sintaks dan Parameter

Berikut sintaks dari fungsi next()


>>> next(iterator, default)

Fungsi next() menerima dua parameter antara lain:

  • iterator – fungsi next() mendapatkan item berikutnya dari iterator ini.
  • default (opsional) – nilai yang dikembalikan ketika item yang diambil habis (tidak ada item lagi setelahnya)

Fungsi next() pada dasarnya mengembalikan item selanjutnya dari suatu iterator. Bila item yang diambil sudah habis, maka fungsi next() selanjutnya akan mengembalikan nilai default yang sudah ditentukan sebelumnya.

Namun bila nilai defaultnya tidak ditentukan maka akan menampilkan eksepsi StopIteration

Contoh Penerapan


>>> data_siswa = ['Budi', '17 Tahun', 'Surabaya']
>>> data_iterator = iter(data_siswa)
>>> print(data_iterator)
<list_iterator object at 0x7f604c3e7940>
>>> print(next(data_iterator))
Budi
>>> print(next(data_iterator))
17 Tahun
>>> print(next(data_iterator))
Surabaya
>>> print(next(data_iterator))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
StopIteration

Untuk Memahami bagaimana cara kerja kode ini, Anda perlu memahami:

1) objek iterable?

2) iterator?

3) Protokol iterasi

4) generator?

5) Bagaimana cara kerja generator?

Izinkan saya memberi gambaran tentang masing-masing hal ini:

Iterable : Suatu iterable adalah objek apa pun dengan Python yang memiliki iter atau getitem metode yang didefinisikan yang mengembalikan iterator atau dapat mengambil indeks. .misalnya:

>>> for i in [1,2,3]:
print(i)

1 2 3

di sini kita memiliki daftar sebagai objek yang dapat diubah, yang itemnya dapat diindeks dan diambil menggunakan indeks.

>>> for i in {x:1,y:2}:
print(x)

x y

di sini kita memiliki kamus sebagai objek yang dapat diubah, itu melilitkan kunci-kuncinya. 

Iterator : Iterator adalah objek apa pun dalam Python yang memiliki metode berikutnya (Python2) atau next yang didefinisikan. Itu dia. Itu sebuah iterator.

Protokol Iterasi : Iter fungsi bawaan mengambil objek yang dapat diubah dan mengembalikan sebuah iterator.

>>> x = iter([1, 2, 3])
>>> x
<listiterator object at 0x1004ca850>
>>> x.next()
1
>>> x.next()
2
>>> x.next()
3
>>> x.next()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration

Generator : Generator adalah iterator, tetapi Anda hanya dapat mengulanginya sekali. Itu karena mereka tidak menyimpan semua nilai dalam memori, mereka menghasilkan nilai dengan cepat.

untuk misalnya:

def yrange(n):
i = 0
while i < n:
    yield i
    i += 1

Setiap kali pernyataan hasil dieksekusi fungsi menghasilkan nilai baru.

>>> y = yrange(3)
>>> y
<generator object yrange at 0x401f30>
>>> y.next()
0
>>> y.next()
1
>>> y.next()
2
>>> y.next()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration

Jadi generator juga merupakan iterator. 

Catatan: Setiap kali next () dipanggil, ia melanjutkan di tempat yang ditinggalkannya (ia mengingat semua nilai data dan pernyataan mana yang terakhir dieksekusi) . Fitur utama lainnya adalah bahwa variabel lokal dan keadaan eksekusi secara otomatis disimpan di antara panggilan .

Mari kita pahami ini dengan contoh:

>>> def foo():
     print "begin"
     for i in range(3):
         print "before yield", i
         yield i
         print "after yield", i
         print "end"

>>> f = foo()
>>> f.next()
begin
before yield 0
0
>>> f.next()
after yield 0
before yield 1
1
>>> f.next()
after yield 1
before yield 2
2
>>> f.next()
after yield 2
end
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration

Sekarang mari kita ke masalah Anda:

M = [[1,2,3],       #M is iterable object 
 [4,5,6],
 [7,8,9]]

G = (sum(row) for row in M) # creates a generator of row sums 
next(G) # Run the iteration protocol