Oruji.org
Oruji.orgPersian Tutorials
ورود
ویرایش: 1396/11/16 23:47

آموزش لیست در پایتون

در این آموزش از کتاب فارسی برخط پایتون، به نوع داده لیست پرداخته شده است. پایه ای ترین ساختار داده در پایتون sequence می باشد. هر المان از sequence با یک شماره مشخص می شود که مکان یا اندیس آن است. اندیس اول صفر، اندیس دوم یک و به همین ترتیب ادامه خواهد داشت.

پایتون دارای شش نوع از sequence ها می باشد، ولی رایج ترین آن ها لیست ها و Tuple ها می باشند، که در این آموزش به آن ها پرداخته شده است.

اعمال مشخصی وجود دارند که با نوع داده های sequence می توان انجام داد. این اعمال شامل فهرست کردن اعضاء، افزودن عضو، برش و چک کردن موجود بدون یک عضو می باشند. علاوه بر این ها، پایتون دارای توابع داخلی (built-in) برای بدست آوردن طول (length) ترتیب (sequence) و یافتن بزرگترین و کوچکترین المان می باشد.

لیست یک نوع داده به اصطلاح همه کاره در پایتون است، که مقادیر آن درون کروشه قرار گرفته و با کاما از یکدیگر جدا می شوند. نکته مهم این است که آیتم های درون لیست لزوما نیازی نیست که از یک نوع باشند، بدین معنی که آیتم های درون یک لیست می توانند از نظر نوع داده با یکدیگر متفاوت باشند.

ایجاد یک لیست به آسانی قرار دادن مقادیری که توسط کاما از یکدیگر جدا شده اند درون کروشه می باشد. برای مثال:

list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5 ]; list3 = ["a", "b", "c", "d"];

همانند برش ها در رشته، برش های لیست نیز از 0 شروع می شوند، همچنین لیست ها را می تواند به یکدیگر چسبانده یا برش داد.

دسترسی به مقادیر

برای دسترسی به مقادیر در لیست ها، از کروشه بعد از نام متغیر لیست همانند مثال زیر استفاده می شود:

#!/usr/bin/python3 list1 = ['physics', 'chemistry', 1997, 2000] list2 = [1, 2, 3, 4, 5, 6, 7 ] print ("list1[0]: ", list1[0]) print ("list2[1:5]: ", list2[1:5])

خروجی کد بالا:

list1[0]: physics list2[1:5]: [2, 3, 4, 5]

به روز رسانی لیست ها

شما می توانید یک آیتم یا بیشتر از مقادیر لیست را با دادن اندیس آن به روز رسانی کنید.

#!/usr/bin/python3 list = ['physics', 'chemistry', 1997, 2000] print ("Value available at index 2 : ", list[2]) list[2] = 2001 print ("New value available at index 2 : ", list[2])

خروجی کد بالا:

Value available at index 2 : 1997 New value available at index 2 : 2001

حذف کردن آیتم ها

برای حذف یک آیتم لیست، در صورتی که دقیقا می دانید کدام آیتم را می خواهید حذف کنید، می توانید از عبارت del استفاده کنید، در غیر اینصورت می توانید از متد remove() استفاده کنید که در بخش انتها به توضیح آن پرداخته ایم:

#!/usr/bin/python3 list = ['physics', 'chemistry', 1997, 2000] print (list) del list[2] print ("After deleting value at index 2 : ", list)

خروجی کد بالا:

['physics', 'chemistry', 1997, 2000] After deleting value at index 2 : ['physics', 'chemistry', 2000]

اعمال پایه ای List

لیست ها همانند رشته ها به عملگرهای و * پاسخ می دهند؛ در اینجا نیز این عملگرها برای اتصال و تکرار استفاده می شوند، با این تفاوت که نتیجه یک لیست جدید خواهد بود نه یک رشته.

در واقع، لیست ها به تمامی عملگرهای معمول sequence ها که در رشته استفاده می شوند، پاسخ می دهند.

عبارت پایتون نتیجه توضیح
len([1, 2, 3]) 3 Length
[1, 2, 3] [4, 5, 6] [1, 2, 3, 4, 5, 6] Concatenation
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] Repetition
3 in [1, 2, 3] True Membership
for x in [1,2,3] : print (x,end = ' ') 1 2 3 Iteration

برش در List

از آنجاییکه لیست یک sequence است، برش دادن آن هم همانند روش برش در رشته ها است.

ورودی های زیر را فرض کنید:

L = ['C', 'Java', 'Python']
عبارت پایتون نتیجه توضیح
L[2] 'Python' Offsets start at zero
L[-2] 'Java' Negative: count from the right
L[1:] ['Java', 'Python'] Slicing fetches sections

توابع و متدهای داخلی List

پایتون حاوی توابع List زیر می باشد:

  1. cmp(list1, list2) در پایتون 3 دیگر در دسترس نیست.
  2. len(list) طول لیست را بر می گرداند.
  3. max(list) آیتمی را که بیشترین مقدار را دارد بر می گرداند.
  4. min(list) آیتمی را که کمترین مقدار را دارد بر می گرداند.
  5. list(seq) نوع داده tuple را به لیست تبدیل می کند.

پایتون حاوی متدهای List زیر می باشد:

  1. list.append(obj) شیء obj را به list اضافه می کند.
  2. list.count(obj) تعداد حضور obj در list را بر میگرداند.
  3. list.extend(seq) محتویات seq را به لیست اضافه می کند.
  4. list.index(obj) اولین اندیس حضور obj در لیست را بر می گرداند.
  5. list.insert(index, obj) شیء obj را در مکان داده شده قرار می دهد.
  6. list.pop(obj = list[-1]) آخرین شیء را حذف کرده و برمی گرداند.
  7. list.remove(obj) شیء obj را از list حذف می کند.
  8. list.reverse() اشیاء list را وارونه می کند.
  9. list.sort([func]) اشیاء list را با استفاده از مقایسه func داده شده می چیند.