خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه استفاده از پایتون برای معکوس کردن یک لیست یا آرایه

معکوس کردن یک آرایه یک تکنیک رایج است که ممکن است برای یک بازی یا هنگام نمایش یک لیست مرتب شده استفاده کنید. پایتون چندین راه برای انجام آن دارد.

معکوس کردن یک لیست یا یک آرایه یک کار برنامه نویسی رایج است. موارد زیادی وجود دارد که ممکن است لازم باشد داده ها را به ترتیب معکوس ارائه کنید، مانند مرتب کردن یک لیست.

چگونه می توان یک لیست یا یک آرایه را با پایتون معکوس کرد؟ در این مقاله با رویکردهای مختلف آشنا خواهید شد.

یک کپی با حلقه for ایجاد کنید

در حالی که پایتون برای حلقه پرمخاطب تر است، ممکن است در برخی موارد مفید باشد. به عنوان مثال، هنگام اجرای منطق پیچیده در برخی از نقاط عملیات معکوس، انعطاف پذیری بیشتری را فراهم می کند.

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

با توجه به لیستی از اعداد صحیح بین یک و نه به عنوان مثال، در اینجا نحوه معکوس کردن یک آرایه با استفاده از یک حلقه برای تورفتگی آورده شده است:

languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
 
<strong># Create an empty list to hold the reversed array:</strong>
reversed_list = []
 
<strong># Substract one from the length of the original array to start from the last index:</strong>
reducer = len(languages)-1
 
<strong># Reverse the list inside a for loop:</strong>
for i in languages:
    reversed_list.append(languages[reducer]) <strong># Append the result to the empty list</strong>
    reducer -=1 <strong># Decrease the index by one at each iteration using the reducer</strong>
 
print(reversed_list)
<strong>
Output:</strong>
[9, 8, 7, 6, 5, 4, 3, 2, 1]

معکوس کردن یک لیست یا یک آرایه با استفاده از درک فهرست

درک لیست کد کوتاه تری تولید می کند. و نیازی به متغیر موقت نیست زیرا درک لیست بر روی یک لیست در جای خود عمل می کند.

مطلب مرتبط:   چگونه اشیاء پروکسی در جاوا اسکریپت کار می کنند؟

برای انجام عملیات قبلی، با استفاده از درک فهرست:

reducer = len(languages)
 
<strong># Decrement the index within a range function using for loop in a list comprehension</strong>
Reversed_list = [languages[reducer] for reducer in range(reducer -1,-1,-1)]
print(Reversed_list)
 
<strong>Output:</strong>
[9, 8, 7, 6, 5, 4, 3, 2, 1]

از عملگر Slice استفاده کنید

عملگر برش لیست بسیار ساده است، اگرچه محدودیت هایی دارد. برای مثال، ممکن است نتوانید خروجی را همانطور که از حلقه for استفاده می کنید سفارشی کنید.

در اینجا نحوه معکوس کردن یک لیست با استفاده از عملگر slice آورده شده است:

languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
rev_list = languages[::-1]
print(rev_list)
 
<strong>Output:</strong>
[9, 8, 7, 6, 5, 4, 3, 2, 1]

نحو [::-1] یک میانبر هوشمندانه است که منجر به یک لیست معکوس می شود. این در واقع به معنای “کپی کردن هر عنصر لیست، شروع از انتها و شمارش معکوس” است – یعنی “آن را معکوس کنید”!

از روش معکوس آرایه استفاده کنید

این روش دیگری است که در جای خود عمل می کند: آرایه اصلی را اصلاح می کند. این می تواند یک نقص باشد زیرا نمی توانید لیست قبلی را برای سایر عملیات ها نگه دارید.

در اینجا نحوه معکوس کردن یک آرایه با استفاده از روش معکوس آورده شده است:

languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
languages.reverse()
print(languages)
 
<strong>Output:</strong>
[9, 8, 7, 6, 5, 4, 3, 2, 1]

از تابع معکوس استفاده کنید

تابع معکوس شده روی یک لیست، آرایه یا هر دنباله دیگری تکرار می شود و کپی معکوس آن را برمی گرداند. با این حال، شما باید به صراحت خروجی معکوس را به عنوان یک لیست اعلام کنید.

مطلب مرتبط:   نحوه مدیریت مسیریابی در Vue با روتر Vue

اینجوری کار میکند:

languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(reversed(languages)))
 
<strong>Output:</strong>
[9, 8, 7, 6, 5, 4, 3, 2, 1]

خلاقیت با آرایه ها

آرایه ها یا لیست ها روش های رایج برای ذخیره داده ها هستند. بسته به هدف خود، ممکن است بخواهید داده ها را به ترتیب معکوس به مشتری ارائه دهید. یکی از راه‌های انجام این کار، معکوس کردن آرایه یا لیست قبل از رندر کردن آن است. همانطور که دیدید، چند راه برای معکوس کردن یک لیست در پایتون وجود دارد. انتخاب کنید چه چیزی برای شما بهتر است و با منطق شما برای یک مشکل خاص هماهنگ است.

همچنین ممکن است بخواهید نحوه معکوس کردن یک آرایه را در زبان های برنامه نویسی دیگر برای درک بهتر منطق پس زمینه ببینید.