مشخصات مقاله
-
3046
-
0.0
-
17470
-
0
-
0
آموزش نوع داده ای لیست در پایتون
در پایتون، دنبالههای مختلف در یک لیست ذخیره میشوند. لیست مجموعهای از انواع مختلف مقادیر یا موارد است. از آنجا که لیستهای پایتون قابل ویرایش هستند، میتوانیم عناصر آنها را پس از ایجاد تغییر دهیم. ویرگول (,) و براکتهای مربعی [ ] که موارد لیست را در بین آنها قرار داده می شود، به عنوان جداکنندهها عمل میکنند.
اگرچه شش نوع داده ای در پایتون برای نگهداری از دنباله ها وجود دارند اما لیست شیوهای متداول و قابل اعتمادتر است. لیست، یک نوع داده دنبالهای است که برای ذخیره مجموعه داده استفاده میشود. دو نوع داده مشابه برای دنبالهها Tuple و String ها هستند که در مقالات قبلی و بعدی به آن اشاره کرده ایم یا خواهیم کرد.
لیستهای نوشته شده در پایتون مشابه به آرایههای دینامیک در زبانهای دیگر هستند، مانند Array List در جاوا و Vector در C++. لیست مجموعهای است از موارد جداشده توسط ویرگول که با نماد [ ] نشان داده میشود.
تعریف لیست در مثال :# a simple list list1 = [1, 2, "Python", "Program", 15.9] list2 = ["Amy", "Ryan", "Henry", "Emma"] # printing the list print(list1) print(list2) # printing the type of list print(type(list1)) print(type(list2))خروجی
[1, 2, 'Python', 'Program', 15.9] ['Amy', 'Ryan', 'Henry', 'Emma'] < class ' list ' > < class ' list ' >
ویژگی های لیست :
- 1. لیستها دارای ترتیب هستند.
- 2. میتوان از طریق شاخص (اندیس) به عناصر لیست دسترسی پیدا کرد.
- 3. لیست یک نوع داده ای قابل ویرایش است.
- 4. انواع مختلف موارد در یک لیست ذخیره میشوند.
بررسی ترتیب لیست
# example a = [ 1, 2, "Ram", 3.50, "Rahul", 5, 6 ] b = [ 1, 2, 5, "Ram", 3.50, "Rahul", 6 ] a == bخروجی
False
اجزای یکسان در دو لیست وجود داشتند؛ اما در لیست دوم موقعیت عنصر پنجم (که در مثال بالا عدد 5 است) تغییر یافته است. زمانی که این دو لیست با یکدیگر مقایسه میشوند، False (غلط) به عنوان نتیجه برگردانده میشود.
# example a = [ 1, 2, "Ram", 3.50, "Rahul", 5, 6] b = [ 1, 2, "Ram", 3.50, "Rahul", 5, 6] a == bخروجی
Trueبرای درک بهتر، مثال زیر را با دقت بررسی کنید:
# list example in detail
emp = [ "John", 102, "USA"]
Dep1 = [ "CS",10]
Dep2 = [ "IT",11]
HOD_CS = [ 10,"Mr. Holding"]
HOD_IT = [11, "Mr. Bewon"]
print("printing employee data ...")
print(" Name : %s, ID: %d, Country: %s" %(emp[0], emp[1], emp[2]))
print("printing departments ...")
print("Department 1:\nName: %s, ID: %d\n Department 2:\n Name: %s, ID: %s"%( Dep1[0], Dep2[1], Dep2[0], Dep2[1]))
print("HOD Details ....")
print("CS HOD Name: %s, Id: %d" %(HOD_CS[1], HOD_CS[0]))
print("IT HOD Name: %s, Id: %d" %(HOD_IT[1], HOD_IT[0]))
print(type(emp), type(Dep1), type(Dep2), type(HOD_CS), type(HOD_IT))
خروجی
printing employee data... Name : John, ID: 102, Country: USA printing departments... Department 1: Name: CS, ID: 11 Department 2: Name: IT, ID: 11 HOD Details .... CS HOD Name: Mr. Holding, Id: 10 IT HOD Name: Mr. Bewon, Id: 11
اندیسگذاری و تقسیم لیست
فرآیند اندیسگذاری به همان شکل پردازش رشته انجام میشود. اپراتور اسلایس [ ] میتواند برای دسترسی به اجزای لیست استفاده شود. اندیس از 0 تا (1 – طول لیست) یا (length-1) وجود دارد. اندیس 0 جایی است که عنصر اول لیست ذخیره شده است؛ اندیس 1 جایی است که عنصر دوم ذخیره شده است، و به همین ترتیب.
میتوانیم زیرلیست (زیر مجموعه ) از لیست را با استفاده از دستور زیر دریافت کنیم.
list_varible(start:stop:step)
- Start نشاندهنده موقعیت شروع لیست است.
- Stop نشاندهنده موقعیت آخرین عنصر لیست است.
- در داخل یک start، از step برای رد کردن عنصر nامین عنصر stop استفاده میشود.
list = [1,2,3,4,5,6,7] print(list[0]) print(list[1]) print(list[2]) print(list[3]) # Slicing the elements print(list[0:6]) # By default, the index value is 0 so its starts from the 0th element and go for index 1. print(list[:]) print(list[2:5]) print(list[1:6:2])خروجی
1 2 3 4 [1, 2, 3, 4, 5, 6] [1, 2, 3, 4, 5, 6, 7] [3, 4, 5] [2, 4, 6]
بر خلاف زبانهای برنامهنویسی دیگر، پایتون به شما این امکان را میدهد که از اندیسگذاری منفی نیز استفاده کنید. اندیسهای منفی از سمت راست شمارش میشوند. اندیس -1 نمایانگر عنصر نهایی در سمت راست لیست است، دنبال آن اندیس 2- برای عضو بعدی در سمت چپ و به همین ترتیب، تا رسیدن به آخرین عنصر در سمت چپ.
بیایید به مثال زیر که در آن از اندیس گذاری منفی برای دسترسی به عناصر لیست استفاده شده، نگاهی بیندازیم.
# negative indexing example list = [1,2,3,4,5] print(list[-1]) print(list[-3:]) print(list[:-1]) print(list[-3:-1])خروجی
5 [3, 4, 5] [1, 2, 3, 4] [3, 4]
به روزرسانی مقادیر لیست
با توجه به قابل تغییر بودن لیست ها و قابلیت عملگر برش برای بهروزرسانی مقادیر آنها، می توان از متدهای append و insert برای اضافه کردن مقادیر به یک لیست استفاده کرد. به مثال زیر توجه کنید :
# updating list values list = [1, 2, 3, 4, 5, 6] print(list) # It will assign value to the value to the second index list[2] = 10 print(list) # Adding multiple-element list[1:3] = [89, 78] print(list) # It will add value at the end of the list list[-1] = 25 print(list)خروجی
[1, 2, 3, 4, 5, 6] [1, 2, 10, 4, 5, 6] [1, 89, 78, 4, 5, 6] [1, 89, 78, 4, 5, 25]
برای حذف عناصر لیست می توان از del استفاده کرد. همچنین می توان از متد remove برای حذف یک عنصر از لیست استفاده کرد. به مثال زیر توجه کنید :
list = [1, 2, 3, 4, 5, 6] print(list) # It will assign value to the value to second index list[2] = 10 print(list) # Adding multiple element list[1:3] = [89, 78] print(list) # It will add value at the end of the list list[-1] = 25 print(list)خروجی
[1, 2, 3, 4, 5, 6] [1, 2, 10, 4, 5, 6] [1, 89, 78, 4, 5, 6] [1, 89, 78, 4, 5, 25]
عملگرهای لیست در پایتون
اپراتورهای ادغام (+) و تکرار (*) به همان شکلی که با رشتهها کار میکردند، در لیستها هم کار میکنند. عملگرهای مختلف لیست عبارتند از:
- 1. تکرار
- 2. ادغام
- 3. طول
- 4. گردش
- 5. عضویت
1. تکرار
اپراتور تکرار این امکان را فراهم میکند که عناصر لیست چندین بار تکرار شوند.
# repetition of list # declaring the list list1 = [12, 14, 16, 18, 20] # repetition operator * l = list1 * 2 print(l)خروجی
[12, 14, 16, 18, 20, 12, 14, 16, 18, 20]
2. ادغام
این عملگر لیست موجود در هر دو طرف عملگر را با هم ادغام میکند.
# concatenation of two lists # declaring the lists list1 = [12, 14, 16, 18, 20] list2 = [9, 10, 32, 54, 86] # concatenation operator + l = list1 + list2 print(l)خروجی
[12, 14, 16, 18, 20, 9, 10, 32, 54, 86]
3. طول
از آن برای دریافت طول لیست استفاده میشود.
# size of the list # declaring the list list1 = [12, 14, 16, 18, 20, 23, 27, 39, 40] # finding length of the list len(list1)خروجی
9
4. گردش
از حلقه for برای گردش در عناصر لیست استفاده میشود.
# iteration of the list # declaring the list list1 = [12, 14, 16, 39, 40] # iterating for i in list1: print(i)خروجی
12 14 16 39 40
5. عضویت
اگر یک عنصر خاص در یک لیست خاص وجود داشته باشد، این عملگر True را برمیگرداند، در غیر این صورت False را برمی گرداند.
# membership of the list # declaring the list list1 = [100, 200, 300, 400, 500] # true will be printed if value exists # and false if not print(600 in list1) print(700 in list1) print(1040 in list1) print(300 in list1) print(100 in list1) print(500 in list1)خروجی
False False False True True True
گردش در یک لیست
میتوان یک لیست را با استفاده از یک حلقه for - in گردش داد. یک لیست ساده شامل چهار رشته را میتوان به صورت زیر گردش داد.
# iterating a list
list = ["John", "David", "James", "Jonathan"]
for i in list:
# The i variable will iterate over the elements of the List and contains each element ineach iteration.
print(i)
خروجی
John David James Jonathan
افزودن عناصر به لیست با استفاده از توابع append و extend
#Declaring the empty list
l =[]
#Number of elements will be entered by the user
n = int(input("Enter the number of elements in the list:"))
# for loop to take the input
for i in range(0,n):
# The input is taken from the user and added to the list as the item
l.append(input("Enter the item:"))
print("printing the list items..")
# traversal loop to print the list items
for i in l:
print(i, end = " ")
خروجی
Enter the number of elements in the list:10 Enter the item:32 Enter the item:56 Enter the item:81 Enter the item:2 Enter the item:34 Enter the item:65 Enter the item:09 Enter the item:66 Enter the item:12 Enter the item:18 printing the list items.. 32 56 81 2 34 65 09 66 12 18
حذف عناصر از لیست با استفاده از تابع remove
list = [0,1,2,3,4]
print("printing original list: ");
for i in list:
print(i,end=" ")
list.remove(2)
print("\nprinting the list after the removal of first element...")
for i in list:
print(i,end=" ")
خروجی
printing original list: 0 1 2 3 4 printing the list after the removal of first element... 0 1 3 4
توابع داخلی لیست در پایتون
- 1. len
- 2. max
- 3. min
از تابع len برای محاسبه طول لیست استفاده میشود.
# size of the list # declaring the list list1 = [12, 16, 18, 20, 39, 40] # finding length of the list len(list1)خروجی
6
تابع max بزرگترین مقدار یک لیست را برمی گرداند.
# maximum of the list list1 = [103, 675, 321, 782, 200] # large element in the list print(max(list1))خروجی
782
تابع min کوچکترین مقدار یک لیست را برمی گرداند.
# minimum of the list list1 = [103, 675, 321, 782, 200] # smallest element in the list print(min(list1))خروجی
103
سه مثال برای بررسی و درک بهتر مفهوم لیست در پایتون
مثال 1: ایجاد یک برنامه برای حذف عناصر تکراری از لیست.
list1 = [1,2,2,3,55,98,65,65,13,29]
# Declare an empty list that will store unique values
list2 = []
for i in list1:
if i not in list2:
list2.append(i)
print(list2)
خروجی
[1, 2, 3, 55, 98, 65, 13, 29]
مثال 2: نوشتن یک برنامه برای پیدا کردن تعداد یک عنصر در لیست.
list1 = [3,4,5,9,10,12,24]
sum = 0
for i in list1:
sum = sum+i
print("The sum is:",sum)
خروجی
The sum is: 67 In [8]:
مثال 3: نوشتن برنامه برای یافتن لیستهایی که حداقل یک عنصر مشترک دارند.
list1 = [1,2,3,4,5,6]
list2 = [7,8,9,2,10]
for x in list1:
for y in list2:
if x == y:
print("The common element is:",x)
خروجی
The common element is: 2