Selesai: perbezaan nombor berturut-turut python antara

Masalah utama yang berkaitan dengan perbezaan nombor berturut-turut Python antara ialah perbezaan antara dua nombor berturut-turut tidak selalu sama. Contohnya, jika anda mempunyai senarai nombor [1, 2, 3], perbezaan antara 1 dan 2 ialah 1, tetapi perbezaan antara 2 dan 3 hanyalah 0.5. Ini boleh menyebabkan kekeliruan apabila cuba mengira perbezaan dalam nilai atau apabila menggunakan algoritma yang bergantung pada saiz langkah yang tetap.

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 mentakrifkan fungsi yang dipanggil consecutive_difference yang mengambil satu hujah, nums.
# Baris 2: Baris ini mencipta senarai kosong yang dipanggil diff.
# Baris 3: Baris ini ialah gelung for yang berulang melalui panjang nombor tolak satu.
# Baris 4: Baris ini menambah nilai mutlak perbezaan antara setiap elemen dalam nombor kepada senarai perbezaan.
# Baris 5: Baris ini mengembalikan senarai perbezaan selepas ia diisi dengan semua perbezaan antara unsur berturut-turut dalam nombor.
# Baris 8: Baris ini menetapkan pembolehubah dipanggil nums sama dengan senarai yang mengandungi 2, 4, 6, dan 8.
# Baris 9: Baris ini mencetak hasil panggilan consecutive_difference pada nombor.

Cari nombor berturut-turut dalam senarai dalam Python

Mencari nombor berturut-turut dalam senarai dalam Python agak mudah. Pendekatan yang paling mudah ialah mengulangi senarai dan membandingkan setiap elemen dengan yang sebelumnya. Jika perbezaan antara dua elemen ialah 1, maka ia adalah nombor berturut-turut.

Berikut ialah contoh bagaimana ini boleh dilakukan:

nombor = [1,2,3,4,5,6] # Senarai nombor
consecutive_numbers = [] # Senarai untuk menyimpan nombor berturut-turut
untuk i dalam julat(len(nombor)-1): # Gelung melalui senarai
if (nombor[i+1] – nombor[i]) == 1: # Semak sama ada perbezaan antara dua elemen ialah 1
consecutive_numbers.append(numbers[i]) # Tambah elemen pada senarai nombor berturut-turut
consecutive_numbers.append(numbers[i+1]) # Tambahkan elemen seterusnya pada senarai nombor berturut-turut
print(consecutive_numbers) # Cetak senarai nombor berturut-turut

Dapatkan perbezaan antara nombor berturut-turut dalam senarai

Dalam Python, anda boleh mendapatkan perbezaan antara nombor berturut-turut dalam senarai dengan menggunakan fungsi zip(). Fungsi zip() mengambil dua atau lebih iterable dan mengembalikan iterator tupel. Item pertama dalam setiap lelaran yang diluluskan digandingkan bersama, kemudian item kedua dalam setiap lelaran yang diluluskan digandingkan bersama, dan seterusnya. Untuk mendapatkan perbezaan antara nombor berturut-turut dalam senarai, anda boleh menggunakan zip() untuk memasangkan setiap nombor dengan pendahulunya dan kemudian menolaknya untuk mendapatkan perbezaan. Sebagai contoh:

senarai_nombor = [1, 2, 3, 4]
perbezaan = [y – x untuk x, y dalam zip(list_numbers[:-1], list_numbers[1:])]
cetak(perbezaan) # Output: [1, 1, 1]

Related posts:

Tinggalkan komen