Fara Code | برنامه نویسی
| تمرین پایتون 🟣 برنامه ای بنویسید که از لیست items، لیست هایی که اعضای یکسان دارند حذف شوند و فقط یک نسخه از آنها در خروجی چاپ شود. Code: items = [[1, -1, 0], [-1, 0, 1], [1, 2, 3]] # Your code … Output: [[1, 2, 3], [-1, 0, 1]] 🟣 روی این تمرین خوب فکر…
| نمونه جواب تمرین
🔹چون ترتیب قرارگیری اعداد در لیست های داخلی مهم نیست، برای شناسایی لیست هایی که اعضای یکسان دارن ابتدا لیست های داخلی رو با تابع sorted مرتب میکنیم، بعد هر لیست مرتب شده رو به تاپل تبدیل میکنیم، و این تاپل ها رو به یک ست اضافه میکنیم تا تاپل هایی که تکراری هستند حذف شوند:
unique = set(tuple(sorted(item)) for item in items)
🔹نکته: دقت کنید قبل از اضافه کردن لیست های مرتب شده به درون یک ست، لازم هست لیست ها به تاپل تبدیل شوند. زیرا لیست ها unhashable هستند و نمیتوانند اعضای یک ست باشند.
🔹حالا که تاپل های تکراری حذف شدند، با کمک map و تابع list، همه تاپل های موجود در ست unique رو مجددا به لیست تبدیل میکنیم و خروجی map رو به شکل لیست درمیاریم:
result = list(map(list, unique))
print(result)
خروجی:
[[1, 2, 3], [-1, 0, 1]]
➖➖➖➖➖➖➖➖➖
📡 @Learrning_Python
🔹چون ترتیب قرارگیری اعداد در لیست های داخلی مهم نیست، برای شناسایی لیست هایی که اعضای یکسان دارن ابتدا لیست های داخلی رو با تابع sorted مرتب میکنیم، بعد هر لیست مرتب شده رو به تاپل تبدیل میکنیم، و این تاپل ها رو به یک ست اضافه میکنیم تا تاپل هایی که تکراری هستند حذف شوند:
unique = set(tuple(sorted(item)) for item in items)
🔹نکته: دقت کنید قبل از اضافه کردن لیست های مرتب شده به درون یک ست، لازم هست لیست ها به تاپل تبدیل شوند. زیرا لیست ها unhashable هستند و نمیتوانند اعضای یک ست باشند.
🔹حالا که تاپل های تکراری حذف شدند، با کمک map و تابع list، همه تاپل های موجود در ست unique رو مجددا به لیست تبدیل میکنیم و خروجی map رو به شکل لیست درمیاریم:
result = list(map(list, unique))
print(result)
خروجی:
[[1, 2, 3], [-1, 0, 1]]
➖➖➖➖➖➖➖➖➖
📡 @Learrning_Python
👍10❤1
🌟چالش پایتون🌟
def text( ):
print(“Hello”, sep=“-“, end=“*”)
print(text( ))
➖➖➖➖➖➖➖➖
A) Hello*
B) H-e-l-l-o*
C) Hello*None
D) None
🔵 بنظرتون خروجی کد بالا کدوم گزینه میشه؟👇🏻
📡 @Learrning_Python
def text( ):
print(“Hello”, sep=“-“, end=“*”)
print(text( ))
➖➖➖➖➖➖➖➖
A) Hello*
B) H-e-l-l-o*
C) Hello*None
D) None
🔵 بنظرتون خروجی کد بالا کدوم گزینه میشه؟👇🏻
📡 @Learrning_Python
👍11😁1
2.mp4
56 MB
👍8
Fara Code | برنامه نویسی
🌟چالش پایتون🌟 def text( ): print(“Hello”, sep=“-“, end=“*”) print(text( )) ➖➖➖➖➖➖➖➖ A) Hello* B) H-e-l-l-o* C) Hello*None D) None 🔵 بنظرتون خروجی کد بالا کدوم گزینه میشه؟👇🏻 📡 @Learrning_Python
🌟جواب چالش پایتون🌟
گزینه C
🔹نکته ۱: تابع text تابعی از نوع perform a task هست. یعنی تابعی هست که هیچ خروجی ای return نمیکنه، بلکه فقط یک عبارتی رو در خروجی چاپ میکنه.
🔹نکته ۲: وقتی خط ۴ اجرا میشه، اول تابع text اجرا میشه و بعد خروجی ای که تابع text اون رو return میکنه توسط print چاپ میشه.
🔹نکته ۳: دقت کنید پارامتر sep کارش اینه که «بین آرگومان های ورودی» تابع print یک جدا کننده چاپ میکنه. در خط ۲ چون فقط یک آرگومان به پرینت دادیم(استرینگ Hello) پس sep اینجا عمل نمیکنه.
🔹پس طبق نکات مهم بالا، وقتی خط ۴ اجرا میشه، اول تابع text اجرا میشه و عبارت *Hello (طبق خط ۲) چاپ میشه. بعد خروجی ای که تابع text اون رو return میکنه توسط print (در خط ۴) چاپ میشه. چون text چیزی رو return نمیکنه، پس None پشت *Hello چاپ میشه.
🔹این یک سوال پر نکته مصاحبه بود. اگر شما هم این کوییز رو اشتباه جواب دادین اصلا جای نگرانی نیست. ما تمام نکات مهمی که لازمه بدونید رو در دوره پایتون داریم گام به گام به زبان ساده تو کانال قرار میدیم.👇🏻
📡 @Learrning_Python
گزینه C
🔹نکته ۱: تابع text تابعی از نوع perform a task هست. یعنی تابعی هست که هیچ خروجی ای return نمیکنه، بلکه فقط یک عبارتی رو در خروجی چاپ میکنه.
🔹نکته ۲: وقتی خط ۴ اجرا میشه، اول تابع text اجرا میشه و بعد خروجی ای که تابع text اون رو return میکنه توسط print چاپ میشه.
🔹نکته ۳: دقت کنید پارامتر sep کارش اینه که «بین آرگومان های ورودی» تابع print یک جدا کننده چاپ میکنه. در خط ۲ چون فقط یک آرگومان به پرینت دادیم(استرینگ Hello) پس sep اینجا عمل نمیکنه.
🔹پس طبق نکات مهم بالا، وقتی خط ۴ اجرا میشه، اول تابع text اجرا میشه و عبارت *Hello (طبق خط ۲) چاپ میشه. بعد خروجی ای که تابع text اون رو return میکنه توسط print (در خط ۴) چاپ میشه. چون text چیزی رو return نمیکنه، پس None پشت *Hello چاپ میشه.
🔹این یک سوال پر نکته مصاحبه بود. اگر شما هم این کوییز رو اشتباه جواب دادین اصلا جای نگرانی نیست. ما تمام نکات مهمی که لازمه بدونید رو در دوره پایتون داریم گام به گام به زبان ساده تو کانال قرار میدیم.👇🏻
📡 @Learrning_Python
👍12