🧑‍💻PythonDev🧑‍💻
334 subscribers
86 photos
3 videos
15 files
78 links
Python tips and tricks
The Good, Bad and the Ugly

📚توی این کانال فقط قرار هست در مورد core python صحبت کنیم.

👨‍💻این کانال یک بلاگ شخصی هست و پیرامون نظرات و چیزهایی که توی این چند سال کد زدن یاد گرفتم (فقط برای کمک به دوستان تازه‌کار)👨‍💻


@Mtio975
Download Telegram
سلام، اومدم یه چیزی بگم و برم 👋

امروز داشتم یه برنامه ای مینوشتم که یه سری دیتا رو میفرستاد به یه جایی و دیتایی که داشتم به شکل یه لیست بود که توش هزاران دیکشنری بود

نیاز بود که 100 تا 100 تا دیکشنری هارو از توی لیست بیارم بیرون و بفرستم به مقصد
پس اول اومدم یه همچین چیزی نوشتم
ids = []

for index, item in enumerate(iterable):
    if index % 100 == 0:
        ids_string = ','.join(ids)
        ...  # اینجا دیتا رو ارسال کردم به مقصد
        ids.clear()

    else:
        ids.append(item)


اما مشکل این بود که اگر مثلا 1020 تا آیتم توی اون لیست اولیه داشتم، فقط 1000 تاش میرفت به مقصد و 20 تا باقی میموند

پس اومدم و لیستی که داشتم رو تبدیل به یه لیست از تاپل ها کردم که توی هرتاپل 100 آیتم بود و باقی مونده هاشم توی اخرین تاپل بود که مثلا 20 آیتم توش بود

from itertools import zip_longest


def zip_long(iterable: list, count: int = 2) -> list[tuple]:
    it = [iter(iterable)] * count

    zipped = zip_longest(*it)
    result = []

    for old_tuple in zipped:
        if None in old_tuple:
            new_tuple = tuple(item for item in old_tuple if item is not None)
            result.append(new_tuple)
        else:
            result.append(old_tuple)

    return result


اینطوری روی هر تاپل فور زدم و دیگه نیاز نبود حساب کنم که 100 تا بشه چون میدونم که همشون 100 تا هستن و تاپل اخر هم باقی مونده شه

البته چون توی تاپل آخر 80 تا آیتم کمتر داریم نسبت به بقیه تاپل ها، متود zip_longest میومد و 80 تا None اضافه میکرد به تاپل آخر
پس یه فور زدم و None هارو هم حذف کردم

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

نمیدونم چرا حس میکنم لقمه رو چرخوندم دور سرم، ولی کارمو راه انداخت
اگه راه بهتری سراغ دارید توی کامنت ها بگید 💬💔
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
اونوقت بگید LaraGram بده!

امکان ساخت Conversation ها به همین سادگی.

- ولیدیت کردن پاسخ هر سوال
- نام گذاری برای هر سوال جهت پردازش راحت تر.
- ارسال سوال به صورت media
- ساخت Conversation با کیبورد
- مشخص کردن کامند جهت skip سوال
-‏ action جهت اجرا آنی پس از دریافت پاسخ
- مشخص کردن تعداد Attempt
- مشخص کردن Timeout بدون پاسخ ماندن
- مشحص کردن کامند لغو Conversation
- مشخص کردن عملیات پس از Conversation

همه این قابلیت ها تنها با متد های پیش ساخته با یک خط کد

البته که این قابلیت ها در ورژن 2 منتشر میشن😉
https://github.com/laraXgram/LaraGram
👨‍💻📚این روزا چون درگیر امتحان های دانشگاه هستم زیاد وقت نمیکنم که مطلب بزارم ولی خوب یکی از کارهای که در کنار آزمون های دانشگاه دارم انجام میدم این هستش که دارم یه جزوه کامل برای برنامه نویسی پایتون آماده میکنم که دردسترس علاقه مند ها به این زبان برنامه نویسی قرار بدم خیلی سعی کردم تا جایی که میتونم به ذکر جزئیات بپردازم و چیزی رو از قلم نندازم به زودی توی کانال قرار میدم که استفاده کنید👨‍💻📚
5👏2