تابعی بنویسیید بنویسید که بی نهایت Iterable بگیره
و تک تک عناصر رو خروجی بده با استفاده از جنریتور
برای مثال:
>> list(your_func([1,2,3],{"a","b"}))
[1,2,3,"a","b"]
#تمرین_پایتون
@BenDevelop
و تک تک عناصر رو خروجی بده با استفاده از جنریتور
برای مثال:
>> list(your_func([1,2,3],{"a","b"}))
[1,2,3,"a","b"]
#تمرین_پایتون
@BenDevelop
👍1
BenDev
تابعی بنویسیید بنویسید که بی نهایت Iterable بگیره و تک تک عناصر رو خروجی بده با استفاده از جنریتور برای مثال: >> list(your_func([1,2,3],{"a","b"})) [1,2,3,"a","b"] #تمرین_پایتون @BenDevelop
بچه ها این باید خیلی ساده باشه براتون
سوالی ک در امتدادش میپرسم چالش داره
انتظار داشتم اینو خیلی سریع بگین
سوالی ک در امتدادش میپرسم چالش داره
انتظار داشتم اینو خیلی سریع بگین
BenDev
تابعی بنویسیید بنویسید که بی نهایت Iterable بگیره و تک تک عناصر رو خروجی بده با استفاده از جنریتور برای مثال: >> list(your_func([1,2,3],{"a","b"})) [1,2,3,"a","b"] #تمرین_پایتون @BenDevelop
حالا تابعی بنویسید که به جای اینکه پشت هم باشن عنصر ها به ترتیب بیان
مثلا عنصر های اول بعد عنصر های دوم و...
مثال:
>> list(your_func([1,2,3],{"a","b"}))
[1,"a",2,"b",3]
#تمرین_پایتون
@BenDevelop
مثلا عنصر های اول بعد عنصر های دوم و...
مثال:
>> list(your_func([1,2,3],{"a","b"}))
[1,"a",2,"b",3]
#تمرین_پایتون
@BenDevelop
BenDev
جواب صحیح:
این سوالی که الان مطرح شد اسمش round_robin هست
و نکته جذاب در مورد این سوال اینه که در هر زبانی راه حل بهینش کاملا متفاوت از زبون های دیگست
یه راه حلی که خیلی ساده میتونسید سوال رو حل کنید این بود که بیشترین تعداد عنصر رو پیدا کنید
بعد روی تمام آرایه ها به اون تعداد حلقه بزنید مثلا:
def round_robin(*args):
rounds = max(args, key=lambda a: len(a))
for index, r in enumerate(rounds):
for arr in args:
if len(arr) > index:
print(arr[index])
منتهی این جواب خوبی نیست چرا؟
چون اگر یکی از لیست ها مثلا ۱۱ تا عنصر داشته باشه
و اونیکی ۲ تا
اونوقت حلقه شما ۲۲ بار تکرار میشه
ولی تو راه حل اصلی میبینید که آرایه ای عنصر هاش تموم شده از آرایه ها حذف میشه
پس دیگه ما حلقه الکی نمیزنیم
@BenDevelop
و نکته جذاب در مورد این سوال اینه که در هر زبانی راه حل بهینش کاملا متفاوت از زبون های دیگست
یه راه حلی که خیلی ساده میتونسید سوال رو حل کنید این بود که بیشترین تعداد عنصر رو پیدا کنید
بعد روی تمام آرایه ها به اون تعداد حلقه بزنید مثلا:
def round_robin(*args):
rounds = max(args, key=lambda a: len(a))
for index, r in enumerate(rounds):
for arr in args:
if len(arr) > index:
print(arr[index])
منتهی این جواب خوبی نیست چرا؟
چون اگر یکی از لیست ها مثلا ۱۱ تا عنصر داشته باشه
و اونیکی ۲ تا
اونوقت حلقه شما ۲۲ بار تکرار میشه
ولی تو راه حل اصلی میبینید که آرایه ای عنصر هاش تموم شده از آرایه ها حذف میشه
پس دیگه ما حلقه الکی نمیزنیم
@BenDevelop
👍10
سوال هایی که شما به عنوان کاندیدا میتونید از مصاحبه کننده بپرسین:
https://github.com/viraptor/reverse-interview
@BenDevelop
https://github.com/viraptor/reverse-interview
@BenDevelop
GitHub
GitHub - viraptor/reverse-interview: Questions to ask the company during your interview
Questions to ask the company during your interview - viraptor/reverse-interview
👍3🙏2
برای مصاحبه های behavioral بسیار بسیار مهمه که شما بتونید با استفاده از تکنیک STAR پاسخ بدین
لینک زیر رو مطالعه کنید:
https://www.indeed.com/career-advice/interviewing/how-to-prepare-for-a-behavioral-interview
@BenDevelop
لینک زیر رو مطالعه کنید:
https://www.indeed.com/career-advice/interviewing/how-to-prepare-for-a-behavioral-interview
@BenDevelop
Indeed Career Guide
How To Prepare for a Behavioral Interview
Learn how to use the STAR technique for behavioral interviews, then prep with Indeed Career Scout’s personalized guidance and mock interviews.
#FastAPI beta with support for Pydantic v2
پایدنتیک ورژن ۲ با استفاده از rust نوشته شده و افزایش سرعت
بسیار زیادی داشته
حالا امروز fastapi با ساپورت pydantic version 2 پابلیش شده:
https://github.com/tiangolo/fastapi/releases/tag/0.100.0-beta1
@BenDevelop
پایدنتیک ورژن ۲ با استفاده از rust نوشته شده و افزایش سرعت
بسیار زیادی داشته
حالا امروز fastapi با ساپورت pydantic version 2 پابلیش شده:
https://github.com/tiangolo/fastapi/releases/tag/0.100.0-beta1
@BenDevelop
GitHub
Release 0.100.0-beta1 · fastapi/fastapi
Install with:
pip install --pre --upgrade fastapi pydantic
Features
✨ Beta support for Pydantic version 2 ✨
The internals of Pydantic v2 were rewritten in Rust and it's currently available in b...
pip install --pre --upgrade fastapi pydantic
Features
✨ Beta support for Pydantic version 2 ✨
The internals of Pydantic v2 were rewritten in Rust and it's currently available in b...
🔥7
سلام دوستان
خواستم یه اپدیتی از وضعیت دوره ها خدمتتون بدم
همونطور که صحبت کردیم دورهی الگوریتم و ساختمان داده رو دارم ضبط میکنم
و از این هفته سعی میکنم مینیمم هفته ای ۱ ویدیو بدم فقط روز منظمی نخواهد داشت
حقیقتا هفته پیش ویدیو اول رو ضبط کردم ۳-۴ بار منتهی یه نویزی داره که رو اعصابه
هدست قبلیم هم این مشکل رو داشت منتهی تنظیمات صدا رو جوری گذاشته بودم خیلی مشخص نبود
این هدست جدیده رو هرکاریش میکنم از کیفیت صداش راضی نمیشم با اینکه بهتره
فکر میکنم کلا مشکل از لینوکسه اگر کسی راهی داره لطف کنه به من بگه
در مورد خود دوره هم خدمتتون بگم که اولا فقط برای خودمونه یعنی داخل کامینیوتی دیگ ای قصد ندارم منتشرش کنم
و اینکه در راستای همون دوره لیت کد هستش
یعنی توی این پلی لیست شما کانسپت هاش رو میبینین
توی پلی لیست لیت کد حل مسالش رو
همین هرگونه نظر و پیشنهادی رو هم استقبال میکنیم 😊
خواستم یه اپدیتی از وضعیت دوره ها خدمتتون بدم
همونطور که صحبت کردیم دورهی الگوریتم و ساختمان داده رو دارم ضبط میکنم
و از این هفته سعی میکنم مینیمم هفته ای ۱ ویدیو بدم فقط روز منظمی نخواهد داشت
حقیقتا هفته پیش ویدیو اول رو ضبط کردم ۳-۴ بار منتهی یه نویزی داره که رو اعصابه
هدست قبلیم هم این مشکل رو داشت منتهی تنظیمات صدا رو جوری گذاشته بودم خیلی مشخص نبود
این هدست جدیده رو هرکاریش میکنم از کیفیت صداش راضی نمیشم با اینکه بهتره
فکر میکنم کلا مشکل از لینوکسه اگر کسی راهی داره لطف کنه به من بگه
در مورد خود دوره هم خدمتتون بگم که اولا فقط برای خودمونه یعنی داخل کامینیوتی دیگ ای قصد ندارم منتشرش کنم
و اینکه در راستای همون دوره لیت کد هستش
یعنی توی این پلی لیست شما کانسپت هاش رو میبینین
توی پلی لیست لیت کد حل مسالش رو
همین هرگونه نظر و پیشنهادی رو هم استقبال میکنیم 😊
👍25❤11❤🔥6🔥2
ABB ♾
https://www.youtube.com/watch?v=HQt-NZu3mTk
اینم ویدیو لیت کد که قبلا بود
برای دوستانی که جدید عضو شدن
اینو حتما باید دیده باشین
چون ویدیو اول الگوریتم دقیقا راجع به کانسپت های همین ویدیو صحبت میکنیم
برای دوستانی که جدید عضو شدن
اینو حتما باید دیده باشین
چون ویدیو اول الگوریتم دقیقا راجع به کانسپت های همین ویدیو صحبت میکنیم
👍14
اینم اولین ویدیو معرفی دوره الگوریتم و ساختمان داده که صحبتش رو کرده بودیم
تو این ویدیو دوره رو معرفی میکنم و توضیح میدم که دوره برای چه کسایی هستش و به چه ترتیبی باید ببینیدش
https://youtu.be/kclXvoKsEEY
@BenDevelop
تو این ویدیو دوره رو معرفی میکنم و توضیح میدم که دوره برای چه کسایی هستش و به چه ترتیبی باید ببینیدش
https://youtu.be/kclXvoKsEEY
@BenDevelop
YouTube
ویدیو اول - معرفی دوره الگوریتم و ساختمان داده
ویدیو اول دوره الگوریتم و ساختمان داده
معرفی دوره
+ مقدمه
+ مخاطبان دوره
+ نحوه دنبال کردن دوره
+ قدم های بعدی
▬ محتوای ویدیو ▬▬▬▬▬▬▬▬▬▬
ما تو این ویدیو قصد داریم که دوره جدیدی که به درخواست دوستان ایجاد شد
یعنی دوره الگوریتم و ساختمان داده رو معرفی…
معرفی دوره
+ مقدمه
+ مخاطبان دوره
+ نحوه دنبال کردن دوره
+ قدم های بعدی
▬ محتوای ویدیو ▬▬▬▬▬▬▬▬▬▬
ما تو این ویدیو قصد داریم که دوره جدیدی که به درخواست دوستان ایجاد شد
یعنی دوره الگوریتم و ساختمان داده رو معرفی…
❤35🔥3👍1
Forwarded from Python BackendHub
داشتم ویدیو مصاحبه عثمان رو میدیدم با امیربهادر که شاخکام تکون خورد بیشتر راجب yield تحقیق کنم.
سوال) کاربرد yield چیه تو پایتون؟
جواب: یک جنریتور فانکشن که memory efficient هست و مثلا از دیسک میخواین ۱۰۰ گیگ فایل بخونید نیاز نیست کلشو یک دفعه لود کنید تو مموری و میتونید ۱۰۰ مگ ۱۰۰ مگ لود کنید تو مموری
مقاله اول) yield چطور تو سطح پایتون کار میکنه؟ (نسبتا ساده, اسکیپ کنید اگه بلدین)
همونطور که گفتم yield یک جنریتور فانکشن هست. ولی یعنی چی؟
یعنی وقتی کلمه yield رو میذارین و اون تابع رو ران میکنید به جای اینکه یک آبجکت بهتون ریترن کنه بهتون یک جنریتور ریترن میکنه.
هردفعه که next() رو بزنید یک بار اجرا میشه و تا yield بعدی میره.اگه yield دیگه ای نباشه دیگه چیزی ران نمیکنه و ارور StopIteration میده.
یک نکته کلیدی. پس وقتی میخوایم کلین آپ کنیم همینطوری next(my_generator) رو صدا میزنیم تا به اخرین خط کد برسه و ارور بده. درواقع تو asyncio pytest همین اتفاق میفته. ما یک آبجکت رو yield میکنیم. خود asyncio-pytest پلاگین میاد next() میزنه روش و آبجکتو میگیره. بعد به کل تستا پاس میده همون آبجکتو. بعدش هم یک دور دیگه next() رو میزنه و میدونه ما بعد yield اول کلین آپ کردیم. اون موقع کلین آپ تست ما هم ران میشه که خیلی قشنگ تر unittest پایتون هست.
خب تا اینجا فهمیدیم تو سطح پایتون چطوری کار میکنه generator و yield.
حالا میریم یک لایه پایین تر تو سطح interpreter 😈
@ManiFoldsPython
سوال) کاربرد yield چیه تو پایتون؟
جواب: یک جنریتور فانکشن که memory efficient هست و مثلا از دیسک میخواین ۱۰۰ گیگ فایل بخونید نیاز نیست کلشو یک دفعه لود کنید تو مموری و میتونید ۱۰۰ مگ ۱۰۰ مگ لود کنید تو مموری
مقاله اول) yield چطور تو سطح پایتون کار میکنه؟ (نسبتا ساده, اسکیپ کنید اگه بلدین)
همونطور که گفتم yield یک جنریتور فانکشن هست. ولی یعنی چی؟
یعنی وقتی کلمه yield رو میذارین و اون تابع رو ران میکنید به جای اینکه یک آبجکت بهتون ریترن کنه بهتون یک جنریتور ریترن میکنه.
هردفعه که next() رو بزنید یک بار اجرا میشه و تا yield بعدی میره.اگه yield دیگه ای نباشه دیگه چیزی ران نمیکنه و ارور StopIteration میده.
یک نکته کلیدی. پس وقتی میخوایم کلین آپ کنیم همینطوری next(my_generator) رو صدا میزنیم تا به اخرین خط کد برسه و ارور بده. درواقع تو asyncio pytest همین اتفاق میفته. ما یک آبجکت رو yield میکنیم. خود asyncio-pytest پلاگین میاد next() میزنه روش و آبجکتو میگیره. بعد به کل تستا پاس میده همون آبجکتو. بعدش هم یک دور دیگه next() رو میزنه و میدونه ما بعد yield اول کلین آپ کردیم. اون موقع کلین آپ تست ما هم ران میشه که خیلی قشنگ تر unittest پایتون هست.
def my_gen():
yield 1
print("Clean up here")
generator = my_gen()
next(generator) -> 1
next(generator) -> prints clean up here -> raise StopIteration
خب تا اینجا فهمیدیم تو سطح پایتون چطوری کار میکنه generator و yield.
حالا میریم یک لایه پایین تر تو سطح interpreter 😈
@ManiFoldsPython
👍25❤1👎1
مرتبه زمانی فضایی و هش مپ
این ویدیو احتمالا مهم ترین ویدیو کل این مجموعست
چون از مفاهیم این قسمت تو تمام ویدیو های بعد استفاده خواهیم کرد
پس حتما حتما ویدیو رو کامل و با دقت تماشا کنین و اگر هر جایش ابهام داشتین حتما بپرسین
https://www.youtube.com/watch?v=2L-9QV0Nqgo&t=1295s
@BenDevelop
این ویدیو احتمالا مهم ترین ویدیو کل این مجموعست
چون از مفاهیم این قسمت تو تمام ویدیو های بعد استفاده خواهیم کرد
پس حتما حتما ویدیو رو کامل و با دقت تماشا کنین و اگر هر جایش ابهام داشتین حتما بپرسین
https://www.youtube.com/watch?v=2L-9QV0Nqgo&t=1295s
@BenDevelop
YouTube
ویدیو دوم - مرتبه زمانی فضایی و هش مپ
ویدیو دوم مرتبه زمانی فضایی و هش مپ
algorithm, data structure, hashmap, big notation, space complexity, time complexity
+ مرتبه زمانی
+ مرتبه فضایی
+ هش مپ
▬ محتوای ویدیو ▬▬▬▬▬▬▬▬▬▬
ما تو این ویدیو قصد داریم که تمام کانسپ های مورد نیاز برای حل سوال…
algorithm, data structure, hashmap, big notation, space complexity, time complexity
+ مرتبه زمانی
+ مرتبه فضایی
+ هش مپ
▬ محتوای ویدیو ▬▬▬▬▬▬▬▬▬▬
ما تو این ویدیو قصد داریم که تمام کانسپ های مورد نیاز برای حل سوال…
❤16👍8🤩1
سلام دوستان عزیز
لطف کنین اگر دوره جنگو ci/cd رو دیدین و از کانفیگ هام استفاده میکنین
ایمیل منو از سرتیفیکیت isuuer بردارین
چرا همه دامین هاتون رو با ایمیل من ثبت میکنین 😁
الان ۲ -۳ تا تون سرتیفیکت هاشون تموم شه renew کنید لطفا 😂
لطف کنین اگر دوره جنگو ci/cd رو دیدین و از کانفیگ هام استفاده میکنین
ایمیل منو از سرتیفیکیت isuuer بردارین
چرا همه دامین هاتون رو با ایمیل من ثبت میکنین 😁
الان ۲ -۳ تا تون سرتیفیکت هاشون تموم شه renew کنید لطفا 😂
🤣104😁13👍2
دیدین قبل از پایان هفته رسوندم 😁
اینم ویدیو داغ حل سوال دوم لیت کد مبحث لینک لیست
درجه سختی این سوال متوسطه یعنی از قبلی سخت تره
ولی نگران نباشین فکر میکنم تمیز توضیح دادم اینو ببینین که ویدیو لینک لیست رو که بدم قشنگ درکش کنین
https://youtu.be/vpdzQ-PGQi4
@BenDevelop
اینم ویدیو داغ حل سوال دوم لیت کد مبحث لینک لیست
درجه سختی این سوال متوسطه یعنی از قبلی سخت تره
ولی نگران نباشین فکر میکنم تمیز توضیح دادم اینو ببینین که ویدیو لینک لیست رو که بدم قشنگ درکش کنین
https://youtu.be/vpdzQ-PGQi4
@BenDevelop
YouTube
مبحث لینک لیست Add two number Medium Leetcode - قسمت دوم حل
قسمت دوم حل سوالات
LeetCode - Medium - Add two number
سوال دوم لیت کد که در مبحث لینک لیست هستش
+ linkelist
▬ محتوای ویدیو ▬▬▬▬▬▬▬▬▬▬
ما تو این ویدیو قصد داریم که به سراغ سوال دوم لیت کد
که سوال add two number هستش بپردازیم
و روش بهینه حل سوال رو…
LeetCode - Medium - Add two number
سوال دوم لیت کد که در مبحث لینک لیست هستش
+ linkelist
▬ محتوای ویدیو ▬▬▬▬▬▬▬▬▬▬
ما تو این ویدیو قصد داریم که به سراغ سوال دوم لیت کد
که سوال add two number هستش بپردازیم
و روش بهینه حل سوال رو…
❤39