Skip to content

2. Lists / Arrays — فہرست

Difficulty: Intermediate — متوسط
Time: ~25 minutes


Creating Lists — فہرست بنانا

متغیر اعداد = [1, 2, 3, 4, 5];
متغیر نام = ["احمد", "فاطمہ", "علی"];
متغیر خالی_ف = [];
متغیر ملی = [1, "سلام", سچ, خالی];    // mixed types

Access elements by index (starts at 0):

لکھو(نام[0]);          // احمد
لکھو(نام[-1]);         // علی   (last element)
لکھو(نام.لمبائی);      // 3   (length property)
لکھو(لمبائی(نام));     // 3   (built-in function also works)

اردو: فہرست [] میں، اشاریہ صفر سے شروع۔ .لمبائی سے یا لمبائی() فنکشن سے تعداد جانیں۔


Adding and Removing — شامل اور ہٹانا

متغیر ف = [1, 2, 3];

ف.شامل(4);                   // push — add to end
لکھو(ف);                      // [1, 2, 3, 4]

متغیر آخری = ف.نکالو();       // pop — remove from end
لکھو(آخری);                   // 4
لکھو(ف);                      // [1, 2, 3]

ف.پہلے_شامل(0);               // unshift — add to beginning
لکھو(ف);                      // [0, 1, 2, 3]

متغیر پہلا = ف.پہلا_نکالو();  // shift — remove from beginning
لکھو(پہلا);                   // 0
لکھو(ف);                      // [1, 2, 3]

اردو: .شامل() آخر میں، .نکالو() آخر سے، .پہلے_شامل() شروع میں، .پہلا_نکالو() شروع سے ہٹاتا ہے۔


Searching — تلاش

متغیر ف = [10, 20, 30, 40, 50];

لکھو(ف.مقام(30));          // 2   (index of 30 — indexOf)
لکھو(ف.مقام(99));          // -1  (not found)
لکھو(ف.شامل_ہے(40));       // True  (includes)
لکھو(ف.شامل_ہے(99));       // False

Slicing — کاٹنا

متغیر ف = [10, 20, 30, 40, 50];

لکھو(ف.حصہ(1, 3));    // [20, 30]  (index 1 and 2 — slice)
لکھو(ف.حصہ(2));       // [30, 40, 50]  (from index 2 to end)
لکھو(ف.حصہ(-2));      // [40, 50]  (last 2)

اردو: .حصہ(شروع, آخر) نئی فہرست دیتا ہے — اصل فہرست نہیں بدلتی۔


Splice — کاٹ کر جوڑنا

.کاٹو() modifies the list in place — it can remove and/or insert:

// Remove 2 elements starting at index 1
متغیر ف = [1, 2, 3, 4, 5];
ف.کاٹو(1, 2);
لکھو(ف);    // [1, 4, 5]

// Insert at index 2 (remove 0, insert 10 and 20)
متغیر ف2 = [1, 2, 3, 4, 5];
ف2.کاٹو(2, 0, 10, 20);
لکھو(ف2);   // [1, 2, 10, 20, 3, 4, 5]

اردو: .کاٹو(اشاریہ, گنتی, ...نئی_قدریں)اشاریہ سے گنتی عناصر ہٹائیں اور نئی قدریں ڈالیں۔


Joining Lists — فہرستیں جوڑنا

// concat — ملاؤ()
متغیر الف = [1, 2];
متغیر ب = [3, 4];
لکھو(الف.ملاؤ(ب));     // [1, 2, 3, 4]

// spread — same result
لکھو([...الف, ...ب]);   // [1, 2, 3, 4]

Sorting — ترتیب

متغیر ف = [3, 1, 4, 1, 5, 9, 2, 6];

// ترتیب() built-in returns a sorted copy
لکھو(ترتیب(ف));                    // [1, 1, 2, 3, 4, 5, 6, 9]
لکھو(ترتیب(ف, الٹا=سچ));           // [9, 6, 5, 4, 3, 2, 1, 1]

// Sort strings by length
متغیر الفاظ = ["کیلا", "سیب", "آم", "انار"];
لکھو(ترتیب(الفاظ, کلید=لمبائی));   // by length

اردو: ترتیب() بلٹ-ان فنکشن ترتیب شدہ نئی فہرست دیتا ہے — اصل نہیں بدلتی۔


Reversing — الٹانا

متغیر ف = [1, 2, 3, 4, 5];
لکھو(ریورس(ف));    // [5, 4, 3, 2, 1]
لکھو(ف);           // [1, 2, 3, 4, 5]  — original unchanged

اردو: ریورس() بلٹ-ان فنکشن نئی الٹی فہرست دیتا ہے۔


Flattening — چپٹا کرنا

متغیر ف = [[1, 2], [3, 4], [5, 6]];
لکھو(ف.پھیلاؤ());    // [1, 2, 3, 4, 5, 6]

Fill — بھرنا

متغیر ف = [0, 0, 0, 0, 0];
ف.بھرو(7);
لکھو(ف);    // [7, 7, 7, 7, 7]

// Fill a range
متغیر ف2 = [1, 2, 3, 4, 5];
ف2.بھرو(0, 1, 3);    // fill 0 from index 1 to 2
لکھو(ف2);             // [1, 0, 0, 4, 5]

Joining to String — متن میں بدلنا

// For string lists — .جوڑو() method
متغیر نام = ["احمد", "فاطمہ", "علی"];
لکھو(نام.جوڑو(", "));    // احمد, فاطمہ, علی
لکھو(نام.جوڑو(" — "));   // احمد — فاطمہ — علی

// For any list — ربط() built-in function
لکھو(ربط(", ", [1, 2, 3]));    // 1, 2, 3

اردو: .جوڑو() صرف متن فہرست کے لیے۔ ملی جلی فہرست کے لیے ربط(جوڑنے_والا, فہرست) بلٹ-ان فنکشن استعمال کریں۔


Copying — نقل بنانا

متغیر اصل = [1, 2, 3];
متغیر نقل = [...اصل];    // spread creates a shallow copy

نقل.شامل(4);
لکھو(اصل);    // [1, 2, 3]    — unchanged
لکھو(نقل);    // [1, 2, 3, 4]

Key Points — اہم نکات

Method Meaning
.شامل(q) push — add to end
.نکالو() pop — remove from end
.پہلے_شامل(q) unshift — add to beginning
.پہلا_نکالو() shift — remove from beginning
.مقام(q) indexOf — find index
.شامل_ہے(q) includes — presence check
.حصہ(a, b) slice — copy portion
.کاٹو(a, b, ...) splice — remove/insert in place
.ملاؤ(list) concat — combine lists
.پھیلاؤ() flat — flatten nested
.بھرو(v) fill — set all elements
.لمبائی length property
ترتیب(ف) sorted copy
ریورس(ف) reversed copy

اردو: تمام فہرست طریقے اردو نام سے — .شامل() جوڑیں، .نکالو() ہٹائیں، .تلاش() ڈھونڈیں۔


← Previous: Advanced Functions | Next: Objects →