پرسش

چطور می‌توان یک لیست را معکوس کرد یا به صورت وارونه روی آن حلقه زد؟

How do I reverse a list or loop over it backwards?

من می‌خوام یک لیست رو معکوس کنم یا به صورت وارونه روی عناصرش حلقه بزنم. چه روش‌هایی برای انجام این کار توی پایتون وجود داره؟

1403/06/04
پاسخ
رضا دولتی عاشق برنامه نویسی و هوش مصنوعی!
بیوگرافی رضا دولتی

برای معکوس کردن یک لیست یا حلقه زدن وارونه روی عناصرش در پایتون، چند روش وجود داره. من بهت چندتا از رایج‌ترین روش‌ها رو توضیح می‌دم:

  1. استفاده از متد reverse():

این متد لیست رو به صورت مستقیم معکوس می‌کنه و لیست اصلی تغییر پیدا می‌کنه.

my_list = [1, 2, 3, 4, 5]
my_list.reverse()
print(my_list)
# output: [5, 4, 3, 2, 1]
  1. استفاده از عملگر برش [::-1]:

این روش یک نسخه معکوس از لیست برمی‌گردونه، بدون اینکه لیست اصلی تغییر کنه.

my_list = [1, 2, 3, 4, 5]
reversed_list = my_list[::-1]
print(reversed_list)
# output: [5, 4, 3, 2, 1]
  1. استفاده از تابع reversed():

این تابع یک iterator معکوس از لیست برمی‌گردونه. برای تبدیل به لیست می‌تونی از تابع list() استفاده کنی.

my_list = [1, 2, 3, 4, 5]
reversed_iterator = reversed(my_list)
print(list(reversed_iterator))
# output: [5, 4, 3, 2, 1]
  1. حلقه زدن به صورت وارونه با استفاده از range():

اگر بخوای به صورت دستی روی لیست وارونه حلقه بزنی، می‌تونی از range() استفاده کنی.

my_list = [1, 2, 3, 4, 5]
for i in range(len(my_list) - 1, -1, -1):
    print(my_list[i])
# output: 5 4 3 2 1
  1. استفاده از sorted() با پارامتر reverse=True:

این روش لیست رو مرتب می‌کنه و می‌تونه به صورت معکوس هم عمل کنه. البته برای معکوس کردن لیست به صورت ساده، روش‌های قبلی بهتره.

my_list = [1, 2, 3, 4, 5]
sorted_list = sorted(my_list, reverse=True)
print(sorted_list)
# output: [5, 4, 3, 2, 1]
پاسخ: 1403/06/04
آخرین آپدیت: 1403/08/03