کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

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



در پایتون، دنباله‌های مختلف در یک لیست ذخیره می‌شوند. لیست مجموعه‌ای از انواع مختلف مقادیر یا موارد است. از آنجا که لیست‌های پایتون قابل ویرایش هستند، می‌توانیم عناصر آن‌ها را پس از ایجاد تغییر دهیم. ویرگول (,) و براکت‌های مربعی [ ] که موارد لیست را در بین آنها قرار داده می شود، به عنوان جداکننده‌ها عمل می‌کنند.

اگرچه شش نوع داده ای در پایتون برای نگهداری از دنباله ها وجود دارند اما لیست شیوه‌ای متداول و قابل اعتمادتر است. لیست، یک نوع داده دنباله‌ای است که برای ذخیره مجموعه داده استفاده می‌شود. دو نوع داده مشابه برای دنباله‌ها 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

1402/09/10 17471 3046
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...