لیست ها در پایتون
۳ سال پیش
آموزش لیست در پایتون
پایه ای ترین ساختار داده در پایتون 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 زیر می باشد:
- cmp(list1, list2) در پایتون 3 دیگر در دسترس نیست.
- len(list) طول لیست را بر می گرداند.
- max(list) آیتمی را که بیشترین مقدار را دارد بر می گرداند.
- min(list) آیتمی را که کمترین مقدار را دارد بر می گرداند.
- list(seq) نوع داده tuple را به لیست تبدیل می کند.
پایتون حاوی متدهای List زیر می باشد:
- list.append(obj) شیء obj را به list اضافه می کند.
- list.count(obj) تعداد حضور obj در list را بر میگرداند.
- list.extend(seq) محتویات seq را به لیست اضافه می کند.
- list.index(obj) اولین اندیس حضور obj در لیست را بر می گرداند.
- list.insert(index, obj) شیء obj را در مکان داده شده قرار می دهد.
- list.pop(obj = list[-1]) آخرین شیء را حذف کرده و برمی گرداند.
- list.remove(obj) شیء obj را از list حذف می کند.
- list.reverse() اشیاء list را وارونه می کند.
- list.sort([func]) اشیاء list را با استفاده از مقایسه func داده شده می چیند.
هنوز برای این پست نظری ثبت نشده است .