Terpecahkan: perbedaan nomor berurutan python antara

Masalah utama yang terkait dengan perbedaan nomor berurutan Python adalah bahwa perbedaan antara dua nomor berurutan tidak selalu sama. Misalnya, jika Anda memiliki daftar angka [1, 2, 3], selisih antara 1 dan 2 adalah 1, tetapi selisih antara 2 dan 3 hanya 0.5. Hal ini dapat menyebabkan kebingungan saat mencoba menghitung selisih nilai atau saat menggunakan algoritme yang mengandalkan ukuran langkah konstan.

def consecutive_difference(nums): 
    diff = [] 
    for i in range(len(nums)-1): 
        diff.append(abs(nums[i] - nums[i+1])) 
    return diff 
  
# Driver code 
nums = [2, 4, 6, 8] 
print(consecutive_difference(nums))

# Baris 1: Baris ini mendefinisikan fungsi yang disebut perbedaan_berturut-turut yang menerima satu argumen, nums.
# Baris 2: Baris ini membuat daftar kosong bernama diff.
# Baris 3: Baris ini adalah perulangan for yang berulang sepanjang num minus satu.
# Baris 4: Baris ini menambahkan nilai absolut dari selisih setiap elemen dalam num ke daftar diff.
# Baris 5: Baris ini mengembalikan daftar diff setelah diisi dengan semua perbedaan antara elemen berurutan dalam angka.
# Baris 8: Baris ini menetapkan variabel yang disebut nums sama dengan daftar yang berisi 2, 4, 6, dan 8.
# Baris 9: Baris ini mencetak hasil pemanggilan perbedaan_urutan pada angka.

Temukan nomor berurutan dalam daftar dengan Python

Menemukan angka berurutan dalam daftar dengan Python relatif mudah. Pendekatan yang paling mudah adalah mengulang daftar dan membandingkan setiap elemen dengan yang sebelumnya. Jika perbedaan antara dua elemen adalah 1, maka mereka adalah bilangan berurutan.

Berikut adalah contoh bagaimana hal ini dapat dilakukan:

angka = [1,2,3,4,5,6] # Daftar angka
nomor_berurutan = [] # Daftar untuk menyimpan nomor urut
untuk i dalam rentang(len(angka)-1): # Ulangi daftar
if (angka[i+1] – angka[i]) == 1: # Periksa apakah perbedaan antara dua elemen adalah 1
angka_urutan.tambahkan(angka[i]) # Tambahkan elemen ke daftar angka berurutan
angka_urutan.tambahkan(angka[i+1]) # Tambahkan elemen berikutnya ke daftar angka berurutan
print(consecutive_numbers) # Mencetak daftar nomor berurutan

Dapatkan perbedaan antara nomor berurutan dalam daftar

Di Python, Anda bisa mendapatkan perbedaan antara angka berurutan dalam daftar dengan menggunakan fungsi zip(). Fungsi zip() mengambil dua atau lebih iterables dan mengembalikan sebuah iterator tupel. Item pertama di setiap iterable yang diteruskan dipasangkan bersama, kemudian item kedua di setiap iterable yang diteruskan dipasangkan bersama, dan seterusnya. Untuk mendapatkan selisih antara angka yang berurutan dalam sebuah daftar, Anda dapat menggunakan zip() untuk memasangkan setiap angka dengan angka sebelumnya dan kemudian mengurangkannya untuk mendapatkan selisihnya. Sebagai contoh:

daftar_angka = [1, 2, 3, 4]
perbedaan = [y – x untuk x, y dalam zip(list_numbers[:-1], list_numbers[1:])]
cetak(perbedaan) # Keluaran: [1, 1, 1]

Pos terkait:

Tinggalkan Komentar