لیست ها و آرایه ها (Lists and Arrays)
در پایتون، «لیست (List)» یک آرایه پویاست. یعنی اندازه اش عوض می شود. لیست ها مرتب هستند، تغییرپذیر هستند، و انواع مختلف را نگه می دارند. مثل کیف مدرسه که دفتر و مداد و پاک کن را باهم نگه می دارد.
لیست چیست؟
«ساختار داده (Data Structure)» ظرف نگهداری اطلاعات است. لیست ظرف چندمنظوره است. بسیاری از الگوریتم ها از لیست استفاده می کنند.
ساخت لیست در پایتون
با براکت مربع [] لیست می سازیم. می توانیم خالی، مقداردار، یا ترکیبی بسازیم.
# Empty list
x = []
# List with initial values
y = [1, 2, 3, 4, 5]
# List with mixed types
z = [1, "hello", 3.14, True]
متدهای مهم لیست
«متد (Method)» یعنی عمل آماده روی لیست. با append() عضو اضافه می کنیم. با sort() لیست را مرتب می کنیم.
x = [9, 12, 7, 4, 11]
# Add element:
x.append(8)
# Sort list ascending:
x.sort()
نوشتن الگوریتم ساده روی لیست
«الگوریتم (Algorithm)» یعنی دستورالعمل دقیق. اینجا کم ترین مقدار را پیدا می کنیم. مثل گشتن دنبال کوتاه ترین مداد در جامدادی.
my_array = [7, 12, 9, 4, 11, 8]
minVal = my_array[0]
for i in my_array:
if i < minVal:
minVal = i
print('Lowest value:', minVal)
نکته: این الگوریتم برای داده های خیلی بزرگ کند می شود. بهینه سازی مهم است.
پیچیدگی زمانی (Time Complexity)
پیچیدگی زمانی یعنی رابطه ی زمان اجرا با اندازه ی داده. در مثال بالا باید همه عناصر را یک بار ببینیم. پس زمانش خطی است.
- یک لیست بساز.
- یک الگوریتم ساده اجرا کن.
- اندازه لیست را بزرگ کن و اثر زمان را ببین.
توضیح بیشتر درباره پیچیدگی زمانی
لینک های داخلی پیشنهاد شده
- DSA پایتون — برای مرور مفهوم ظرف و الگوریتم.
- پشته با لیست — استفاده عملی از لیست در ساختار داده.
جمع بندی سریع
- لیست پویاست و مرتب است.
appendاضافه می کند،sortمرتب می کند.- الگوریتم روی لیست ساده شروع کن.
- برای داده بزرگ، بهینه سازی مهم است.