پاسخ ها ( ۳ )

  1. درود

    بزرگترین تفاوتشون اینه که تاپل ها  immutable  هستن؛ یعنی مقادیرشون غیر قابل تغییر هست.

    تفاوت بعدی که وجود داره اینه که برای تاپل نمیشه یک مقدار تک عضوی تعریف کرد و برای این کار حتما باید بعد از اون مقدار یک کاما بذارید. مثل:
    print(1,)
    تفاوت بعدیشون در سرعتشون هست که تاپل کمی از سرعت بیشتری برخورداره.

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

  2.  

    شباهت های لیست با تاپل

    • هر دو نوع داده یک دنباله هستند
    • لیست و تاپل می‌توانند به عنوان نگهدارنده ی مجموعه از دیتا های دیگر باشند
    • لیست و تاپل هر دو مرتب هستند و به همین دلیل از طریق ایندکس قابل دسترسی هستند

     

    تفاوت های لیست با تاپل

    • لیست معمولا به عنوان نگهدارنده ای برای داده ها با تایپ یکسان استفاده می‌شود و در مقابل تاپل برای تایپ های متفاوت (الزامی وجود ندارد و هر دو می‌توانند هرنوع داده ای را نگهداری کنند)
    • تاپل برخلاف لیست یک دیتا تایپ Immutable است و پس از ایجاد شدن دیگر قابل تغییر نیست
    • تاپل کمی از لیست سریع تر است
  3. سلام

    از لحاظ ظاهری که لیست ها با براکت []  مشخص میشن و تاپل ها با پرانتز() . از لحاظ باطنی مهم ترین تفاوت اینه که لیست ها mutable  و تاپل ها immutable  هستند. یعنی لیست ها مثلا متدی به اسم append  دارند که با اون میشه عنصری رو به لیست اضافه کرد اما تاپل ها همچین متدی ندارند.

    این نمونه کد رو ببین:

    خروجی:
    ۱۴۱۸۹۸۷۱۰۲۴۰۰
    ۱۴۱۸۹۸۶۵۱۹۷۴۴
    ۱۴۱۸۹۸۶۹۲۴۰۳۲
    ۱۴۱۸۹۸۶۹۲۴۰۳۲
    میبینی که id  لیست ها با کپی گرفتن تغییر میکنه و اما id  تاپل ها ثابت میمونه و این بخاطر immutable  بودن تاپل هاست.
    یه نکته هم بگم که لیست تک عضوی رو بصورت [۱] نشون میدن اما تاپل تک عضوی رو به صورت (,۱) نشون میدن .اون کاما رو باید بذاری تا برنامه تفاوتش رو با یک عدد عادی توی پرانتز بفهمه

ارسال یک پاسخ