Sobes.tech
Junior

Python'da massivlar va ro'yxatlar o'rtasidagi farqlar nima?

sobes.tech AI

AIdan javob

Python'dagi (list) ro'yxatlar — bu o'zgartiriladigan (mutable) tartiblangan elementlar to'plami. Ular turli ma'lumot turlaridagi elementlarni o'z ichiga olishi mumkin. Ular ko'pincha ko'p vazifalar uchun ishlatiladi.

Python'dagi massivlar odatda array yoki numpy kutubxonalariga tegishli tuzilmalarni anglatadi.

array.array:

  • Bir xil turdagi elementlarni (raqamlar) saqlash uchun mo'ljallangan.
  • Listlarga qaraganda xotira jihatidan yanada tejamli, chunki elementlarni ketma-ket saqlaydi.
  • Ba'zi past darajadagi operatsiyalar va konvertatsiyalarni (masalan, baytlarga aylantirish) qo'llab-quvvatlaydi.
import array

# Butun sonlar massivini yaratish
arr = array.array('i', [1, 2, 3, 4, 5])
print(arr) # array('i', [1, 2, 3, 4, 5])

# Boshqa turdagi element qo'shish xatolik keltirib chiqaradi
# arr.append("salom") # TypeError: butun son talab qilinadi (str olindi)

numpy.ndarray:

  • Ilmiy hisoblashlar uchun asosiy tuzilma.
  • Shuningdek, odatda raqamlar kabi bir xil turdagi elementlarni saqlash uchun mo'ljallangan, ammo ko'p o'lchovli bo'lishi mumkin.
  • Vektorlashtirilgan operatsiyalar bilan yuqori unumdorlik ta'minlaydi.
  • Ma'lumotlar bilan ishlash uchun keng matematik funktsiyalar va metodlar to'plamiga ega.
import numpy as np

# NumPy massivini yaratish
np_arr = np.array([1.0, 2.0, 3.0, 4.0, 5.0])
print(np_arr) # [1. 2. 3. 4. 5.]

# Vektorlashtirilgan operatsiya
result = np_arr * 2
print(result) # [2. 4. 6. 8. 10.]

Asosiy farqlar:

Xususiyat Ro'yxat (list) array.array numpy.ndarray
Ma'lumot turi Turli xil Bir xil (dtype bo'yicha) Bir xil (dtype bo'yicha)
O'zgartirish mumkinligi O'zgartiriladigan O'zgartiriladigan O'zgartiriladigan
Ishlash tezligi Raqamli operatsiyalar uchun pastroq Ro'yxatlardan yuqori Vektorli operatsiyalar uchun eng yuqori
Foydalanish Umumiy maqsadlar uchun Samarali raqamlarni saqlash Ilmiy hisoblashlar, ma'lumotlarni tahlil qilish
O'lchov Bir o'lchovli Bir o'lchovli Ko'p o'lchovli

Shunday qilib, asosiy farq elementlarning birxilligi (massivlar uchun) va ularning ixtisoslashuvi: array xotira uchun, numpy hisoblashlar uchun, listlar esa keng qamrovli vosita sifatida ishlatiladi.