تفاوت لیست ها ، آرایه ها و مجموعه ها در پایتون چیست؟


پاسخ 1:

لیست ها:

یک نوع داخلی با ویژگی های زیر

  • طول متغیر با حداکثر sys.maxsize elementElements می تواند وجود داشته باشد - انواع داخلی ، انواع تعریف شده توسط کاربر ، و غیره. لازم نیست که عناصر قابل استفاده باشند. عناصر را می توان در یک لیست تکرار کرد. عناصر لازم نیست از یک نوع باشند. می توانید هر مقدار دلخواه را در عنصر listEach در لیست به عنوان مرجع یک شی دیگر ذخیره کنید. لیست ها فقط توسط اعداد صحیح فهرست بندی می شوند. لیست ها می توانند تکرار شوند ، یعنی می توانید یک حلقه برای حلقه بنویسید. لیست ها ناهمگن (انواع مختلط) ظروف مرتب شده با شاخص هستند (طبق مطالب مشخص شده سفارش داده می شوند) - این همان طبقه بندی نیست.

لیست ها موارد استفاده زیادی را در اختیار شما قرار می دهد: اگر به یک ظرف با نمایه Inetereger احتیاج دارید ، یک لیست احتمالاً اولین گزینه شماست.

آرایه ها:

جزء لاینفک ماژول آرایه نیست.

  • طول متغیر با حداکثر عناصر sys.maxize. عناصر فقط می توانند عددی باشند - اعداد صحیح ، عدد نقطه شناور یا شخصیت. علاقه ها و شماره های نقطه شناور باید به عنوان مقادیر طولانی و کوتاه بدون امضا تعریف شوند. شخصیت ها فقط یونیکد هستند. شناورها با دقت یک یا دو برابر هستند. عناصر مورد نیاز برای هش شدن نیستند (اگرچه همه شماره ها به هر حال هستند). عناصر را می توان در یک آرایه تکرار کرد. همه عناصر باید با یک آرایه واحد یکسان باشند. شما نوعی را تعیین می کنید که یک آرایه در هنگام ایجاد آرایه می تواند شامل آن باشد. هر عنصر موجود در لیست به عنوان یک عددی در حافظه ذخیره می شود (نه به عنوان مرجع یک شی. آرایه ها فقط توسط اعداد صحیح فهرست می شوند. آرایه ها می توانند تکرار شوند ، یعنی شما می توانید یک حلقه برای نوشتن بنویسید. آرایه ها یک دسته بندی کارآمد ، همگن (مرتب شده اند. ظروف (مرتب شده است زیرا محتوا به ترتیبی که توسط برنامه نویس مشخص شده باقی می ماند) - این همان طبقه بندی نیست.

arraysareprimarilydesignedforpassingdataacrossCtypeinterfacesorbinarydata.Theyarenotafastreplacementsforlistsunlessyoucanguaranteethatyourelementsarewithintherelevantrange;forinstanceanarraywithtypecodeQcannotstoreintegerslargerthan2641(unsignedlonglong),althoughPythonintegersareeffectivelyunlimited(andthereforeconsiderablylargerthanthearraycanhold).arrays are primarily designed for passing data across C type interfaces or binary data. They are not a fast replacements for lists - unless you can guarantee that your elements are within the relevant range; for instance an array with type code ‘Q’ cannot store integers larger than 2^{64}–1 (unsigned long long), although Python integers are effectively unlimited (and therefore considerably larger than the array can hold).

احکام:

یک نوع داخلی با مشخصات زیر.

  • طول متغیر با حداکثر عناصر sys.maxsize عناصر تا زمانی که قابل هضم نباشند می توانند هر مقدار یا اشیاء باشند. به عنوان مثال ، رشته ها ، اعداد و تاپ ها را می توان در یک مجموعه قرار داد ، اما لیست ها ، به عنوان مثال لغت نامه ها ، نمی توانند. انواع تعریف شده توسط کاربر را می توان به هذیان تبدیل کرد. عناصر را نمی توان در یک مجموعه تکرار کرد. این نکته است. عناصر می توانند ترکیبی از انواع موجود در همان مجموعه باشند. هر عنصر موجود در مجموعه به عنوان مرجع یک شی ذخیره می شود. مقادیر قابل فهرست نیستند. مجموعه ها می توانند تکرار شوند - یعنی می توانید یک حلقه برای حلقه بنویسید. ست ها بطور کارا ناهمگن هستند (انواع مختلط) بی نظم هستند (توسعه دهنده هیچ کنترلی در نظم داده ها هنگام تکرار ندارد) ظروف منحصر به فرد و غیر شاخص برای انواع هش.

مجموعه ها در درجه اول برای ایجاد توالی عناصر منحصر به فرد در نظر گرفته شده اند.