Diberikan dua angka r1 dan r2 (yang menentukan rentang), tulis program Python untuk membuat daftar dengan rentang yang diberikan (inklusif).
Contoh
Input : r1 = -1, r2 = 1 Output : [-1, 0, 1] Input : r1 = 5, r2 = 9 Output : [5, 6, 7, 8, 9]Mari kita bahas beberapa pendekatan untuk Membuat daftar angka dengan rentang tertentu di Python.
Pendekatan naif menggunakan loop
Metode naif untuk membuat daftar dalam rentang yang diberikan adalah pertama-tama membuat daftar kosong dan menambahkan penerus setiap bilangan bulat di setiap iterasi for loop.
Python3
# Python3 Program to Create list
# with integers within given range
[-1, 0, 1]0 [-1, 0, 1]1
[-1, 0, 1]2[-1, 0, 1]3
[-1, 0, 1]2[-1, 0, 1]5
[-1, 0, 1]2[-1, 0, 1]7 [-1, 0, 1]8[-1, 0, 1]9[-1, 0, 1]9 [-1, 0, 1]1
[-1, 0, 1]2[-1, 0, 1]3 [-1, 0, 1]4
[-1, 0, 1]2[-1, 0, 1]6[-1, 0, 1]7
[-1, 0, 1]_2[-1, 0, 1]9
[-1, 0, 1]2[-1, 0, 1]1[-1, 0, 1]9 [-1, 0, 1]3
[-1, 0, 1]2[-1, 0, 1]5
[-1, 0, 1]2[-1, 0, 1]7
[-1, 0, 1]2[-1, 0, 1]9[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]0[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]1[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2 [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]3
[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]4
[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]4[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]6
[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]4[-1, 0, 1]4[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]1[-1, 0, 1]9 [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2
[-1, 0, 1]2[-1, 0, 1]3 [-1, 0, 1]1
[-1, 0, 1]_2
[-1, 0, 1]_6
[-1, 0, 1]7[-1, 0, 1]9 [-1, 0, 1]9[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]1[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2
[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]3[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]4
Keluaran
[-1, 0, 1]_Menggunakan pemahaman Daftar
Kita juga dapat menggunakan pemahaman daftar untuk tujuan tersebut. Ulangi saja 'item' dalam loop for dari r1 ke r2 dan kembalikan semua 'item' sebagai daftar. Ini akan menjadi kode satu baris sederhana.
Python3
# Python3 Program to Create list
# with integers within given range
[-1, 0, 1]0 [-1, 0, 1]1
________52______9[-1, 0, 1]3 [5, 6, 7, 8, 9] [-1, 0, 1]1[5, 6, 7, 8, 9] [-1, 0, 1]2 ________61______3[5, 6, 7, 8, 9] [-1, 0, 1]4 [5, 6, 7, 8, 9] [-1, 0, 1]5[5, 6, 7, 8, 9] [-1, 0, 1]6[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]1________31______2________61______9
[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]_9
[-1, 0, 1]_6
[-1, 0, 1]7[-1, 0, 1]9 [-1, 0, 1]9[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]1[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2
[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]3[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]4
Keluaran
[-1, 0, 1]_Menggunakan rentang Python()
Python hadir dengan fungsi langsung range() yang membuat urutan angka dari nilai awal hingga akhir dan mencetak setiap item dalam urutan tersebut. Kami menggunakan range() dengan r1 dan r2 dan kemudian mengubah urutan menjadi daftar.
Python3
# Python3 Program to Create list
# with integers within given range
[-1, 0, 1]0 [-1, 0, 1]1
________52______9[-1, 0, 1]3 # with integers within given range6# with integers within given range7[5, 6, 7, 8, 9] [-1, 0, 1]5________61______6[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]1[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2[-1, 0, 1]02
[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]_9
[-1, 0, 1]_6
[-1, 0, 1]7[-1, 0, 1]9 [-1, 0, 1]9[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]1[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2
[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]3[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]4
Keluaran
[-1, 0, 1]_Menggunakan itertools
Anda juga dapat menggunakan fungsi rentang dalam kombinasi dengan fungsi rantai modul itertools untuk membuat daftar angka dengan rentang tertentu. Hal ini dapat dilakukan sebagai berikut
Python3
# Python3 Program to Create list
# with integers within given range
[-1, 0, 1]_15 [-1, 0, 1]16
[-1, 0, 1]4[-1, 0, 1]_9[-1, 0, 1]9[-1, 0, 1]20
[-1, 0, 1]21[-1, 0, 1]9[-1, 0, 1]20
[-1, 0, 1]_24
[-1, 0, 1]25[-1, 0, 1]9 # with integers within given range6[-1, 0, 1]28[5, 6, 7, 8, 9] [-1, 0, 1]5[5, 6, 7, 8, 9] [-1, 0, 1]6[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]1[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2[-1, 0, 1]33
[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]3[-1, 0, 1]35
[-1, 0, 1]_36
Keluaran[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
Ini akan membuat daftar angka dari r1 ke r2 inklusif dengan merantai elemen dalam rentang bersama-sama menggunakan fungsi rantai dari modul itertools
Menggunakan numpy. atur()
Python numpy. arange() mengembalikan daftar dengan elemen berjarak sama sesuai interval. Di sini kami menetapkan interval sebagai 1 sesuai dengan kebutuhan kami untuk mendapatkan hasil yang diinginkan.
Python3
# Python3 Program to Create list
# with integers within given range
[-1, 0, 1]_15 [-1, 0, 1]40
[-1, 0, 1]0 [-1, 0, 1]1
________52______9[-1, 0, 1]3 [-1, 0, 1]45[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]1[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]1[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2[-1, 0, 1]50
[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]_9
[-1, 0, 1]_6
[-1, 0, 1]7[-1, 0, 1]9 [-1, 0, 1]9[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]1[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2
[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]3[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]4
Keluaran
[-1, 0, 1]_Menggunakan numpy untuk membuat daftar angka dengan rentang yang diberikan
Di sini kami membuat daftar angka dari rentang tertentu dengan kenaikan yang ditentukan
Python3
[-1, 0, 1]_15 [-1, 0, 1]40
[-1, 0, 1]0 [-1, 0, 1]64
________52______9[-1, 0, 1]66[-1, 0, 1]9 [-1, 0, 1]68[-1, 0, 1]9[-1, 0, 1]70
[-1, 0, 1]71[-1, 0, 1]72[-1, 0, 1]73# with integers within given range7[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2[-1, 0, 1]76[-1, 0, 1]77[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]1[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2________1______80
________52______9[-1, 0, 1]3 [-1, 0, 1]83________1______84[-1, 0, 1]85[-1, 0, 1]86[-1, 0, 1]50[5, 6, 7, 8, 9] [-1, 0, 1]2 [-1, 0, 1]89________61______4 [-1, 0, 1]_91
[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]_9
[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]3[-1, 0, 1]94[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]1[-1, 0, 1]20[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]1[-1, 0, 1]99[-1, 0, 1]02
Keluaran
[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]Menggunakan Rekursi
Pendekatan lain untuk membuat daftar angka dalam rentang tertentu adalah dengan menggunakan rekursi. Ini melibatkan pendefinisian fungsi rekursif yang mengambil rentang saat ini dan daftar yang akan dikembalikan, lalu menambahkan rentang saat ini ke daftar dan memanggil fungsi lagi dengan rentang berikutnya hingga akhir rentang tercapai
Python3
[-1, 0, 1]0 [-1, 0, 1]02
[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]_9[-1, 0, 1]04
________52______9[-1, 0, 1]7 [-1, 0, 1]4________1______9[-1, 0, 1]1_______9 [-1, 0, 1]21[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]1[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2[-1, 0, 1]7
[-1, 0, 1]_14[-1, 0, 1]3 [-1, 0, 1]16
[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]_9[-1, 0, 1]18
[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]_9[-1, 0, 1]6[-1, 0, 1]7
[-1, 0, 1]_14[-1, 0, 1]23
[-1, 0, 1]14[-1, 0, 1]3 [-1, 0, 1]26[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]1 [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2[-1, 0, 1]29
[-1, 0, 1]_30
________52______3[-1, 0, 1]32[-1, 0, 1]20[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]1[-1, 0, 1]35[-1, 0, 1]36[-1, 0, 1]37
________52______3[-1, 0, 1]32[-1, 0, 1]9[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2[1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]1[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]2[-1, 0, 1]44[-1, 0, 1]45
[-1, 0, 1]_36
Keluaran[5, 6, 7, 8, 9] [-1, 0, 1]
Pendekatan ini memiliki kompleksitas waktu O(n) dan ruang bantu O(n), di mana n adalah jumlah elemen dalam daftar