ساختار داده لیست (List) در پایتون

ساختار داده لیست (List) در پایتون

list
آموزش مقدماتی پایتون

ساختار داده لیست (List) در پایتون

ساختار داده لیست (List) در پایتون

# لیست خالی
empty_list = []

# لیست همگن عددی
scores = [18, 19.5, 20]

# لیست ناهمگن با انواع مختلف داده
mixed_list = ["Ali", 25, True, 3.14, [10, 20]]

قوانین دسترسی به عناصر لیست دقیقاً مشابه رشته‌ها است:

  • اندیس مثبت: از چپ به راست با شروع از 0
  • اندیس منفی: از راست به چپ با شروع از 1-
  • برش‌دادن: با الگوی list[start:stop:step]
letters = ["a", "b", "c", "d", "e"]

first_item = letters[0]     # خروجی: 'a'
last_item = letters[-1]     # خروجی: 'e'
sub_list = letters[1:4]     # خروجی: ['b', 'c', 'd']

متد append(x)

students = ["Sara", "Mina"]
students.append("Ali")
print(students)  # خروجی: ['Sara', 'Mina', 'Ali']
tasks = ["Report", "Email"]
tasks.insert(0, "Emergency Call")
print(tasks)  # خروجی: ['Emergency Call', 'Report', 'Email']
  • توضیح: اولین مقدار برابر با x را از لیست حذف می‌کند.
  • صورت مسئله: می‌خواهیم مقدار نامعتبر 0 را از لیست ورودی سنسور حذف کنیم.
sensor_readings = [12, 0, 15, 0, 18]
sensor_readings.remove(0)
print(sensor_readings)  # خروجی: [12, 15, 0, 18]
  • صورت مسئله: می‌خواهیم آخرین کار ثبت‌شده در صف تسک‌ها را پردازش و از لیست خارج کنیم.
jobs = ["Job 1", "Job 2", "Job 3"]
last_job = jobs.pop()
print("انجام شد:", last_job)  # خروجی: 'Job 3'
print("باقی‌مانده:", jobs)    # خروجی: ['Job 1', 'Job 2']
  • توضیح: عناصر لیست را درجا و به‌صورت صعودی مرتب می‌کند.
  • صورت مسئله: می‌خواهیم نمرات کلاسی را از کمترین به بیشترین مرتب کنیم.
grades = [15.5, 12.0, 19.0, 17.5]
grades.sort()
print(grades)  # خروجی: [12.0, 15.5, 17.5, 19.0]
messages = ["Hi", "How are you?", "Bye"]
messages.reverse()
print(messages)  # خروجی: ['Bye', 'How are you?', 'Hi']
status_codes = [200, 404, 200, 404, 500, 404]
error_count = status_codes.count(404)
print("تعداد خطای 404:", error_count)  # خروجی: 3
users = ["user1", "admin", "guest", "user2"]
pos = users.index("admin")
print("موقعیت ادمین:", pos)  # خروجی: 1
data = [10.2, 11.5]
new_data = [12.1, 13.0]
data.extend(new_data)
print("داده‌های تجمیعی:", data)  # خروجی: [10.2, 11.5, 12.1, 13.0]
original = [100, 200, 300]
backup = original.copy()
original.append(400)

print("لیست اصلی:", original)  # خروجی: [100, 200, 300, 400]
print("نسخه پشتیبان:", backup)  # خروجی: [100, 200, 300]
  • توضیح: تمام عناصر موجود در لیست را به‌صورت یکجا پاک کرده و لیست را کاملاً خالی می‌کند.
buffer = [0.45, 0.67, 0.89]
buffer.clear()
print("بافر بعد از پاک‌سازی:", buffer)  # خروجی: []
list_a = [1, 2, 3]
list_b = [4, 5, 6]

print(list_a + list_b)  # خروجی: [1, 2, 3, 4, 5, 6]
print(list_a * 2)       # خروجی: [1, 2, 3, 1, 2, 3]

مثال ۱: تحلیل نمرات کلاسی

grades = [17.5, 19.0, 14.25, 20.0, 16.5]
average = sum(grades) / len(grades)

print(f"میانگین: {average:.2f}")
print(f"بیشترین نمره: {max(grades)}")
print(f"کمترین نمره: {min(grades)}")
numbers = [11, 24, 35, 48, 52, 63, 70]
even_numbers = []

for num in numbers:
    if num % 2 == 0:
        even_numbers.append(num)

print("اعداد زوج:", even_numbers)
queue = ["Customer 1", "Customer 2", "Customer 3"]

# ورود مشتری جدید
queue.append("Customer 4")

# پذیرش نفر اول صف
served = queue.pop(0)

print("پذیرش شد:", served)
print("افراد باقی‌مانده در صف:", queue)

فکر خود را اینجا بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *