انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: Paramont در 03 آذر 1388، 02:58 بظ
-
سلام
می خواستم بدونم چرا توی پایتون اندیس آرایه از صفر شروع می شه و شماره بعد آرایه از یک؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ??? :o
-
سلام
می خواستم بدونم چرا توی پایتون اندیس آرایه از صفر شروع می شه و شماره بعد آرایه از یک؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ??? :o
جواب این سوالتون رو نمیدونم ولی نوع های بسیار قوی تر از آرایه عادی که یک سری نوع مثل هم رو میخواد در خودش نگه داره، در پایتون وجود دارد
Lists, Tuples, Dictionaries, Sets
فکر می کنم اگر از این نوع ها استفاده کنی دیگه این سوالات مسخره ;) تو ذهنت نمیاد (البته شایدم اونقدرها هم مسخره نباشه :))
http://en.wikibooks.org/wiki/Python_Programming/Arrays
-
هیچ سوالی مسخره نیست (: در واقع سوال ها فقط می تونن غیردقیق باشن یا عنوان بد داشته باشن اما مسخره نیستن - هرچند که بانمک، فلسفی و جذاب میتونن باشن - مثل همین (: البته اگر سوالت اینه که چرا اولین آرایه زبون پیتون اندیس ۰ داره و نه ۱. اگر به هر زبون دیگه ای برنامه نویسی کرده باشی می بینی که همه زبون های معقول اینجوری هستن. دلیلش هم کاملا فنی است و بر می گرده به زمان سی. توی سی، آرایه چیزی به جز بخشی از حافظه نیست. وقتی آرایه ای مثل
int arr[5]
تعریف می کنی، در واقع این رو تعریف کردی:
*(int*5)
که داره می گه
malloc(sizeof(int)*5)
که معنیش اینه که «برای پنج تا عدد صحیح، حافظه کنار بذار.» حالا یک اشاره گر داری که به اول جایی در حافظه اشاره می کنه و در واقع اینجوری بهش اشاره می شه:
arr[0]
که همون
*(arr)
است. حالا برای رسیدن به عنصر بعدی تو راحت می زنی
arr[1]
که در واقع برابر است با
*(arr+sizeof(int)*1)
در واقع تو با فرمول
*(array+sizeOf(DataType)*n)
می تونی به عناصر آرایه ای که در حافظه تصور کردی دسترسی پیدا کنی که توش n می گه کدوم عنصر رو می خوای و مشخصه که اگر به جای اون صفر بذاری، عنصر اول اشاره می شه و اگر یک بذاری عنصر دوم و ... این دقیقا همون n است که تو وقتی می خوای راحت به آرایه ها اشاره کنی جلوی
arr[n]
می ذاری.
-
با اینکه سوال من نبود، ولی ممنونم! بدردم خورد.
-
شاید جواب سوال این باشه
چون اعداد فقط در اینجا فقط یک نشانه هستند و صفر هم میتونه یک نشانه باشه
پس استفاده میشه
-
قوانین و خط مشی رفتاری در انجمنهای اوبونتو ایران (http://forum.ubuntu.ir/index.php/topic,242.0.html)
۶. حق حذف و یا ویرایش ارسالهایی که به نحوی مغایرتی با قوانین سایت داشته باشند، برای مدیران و ناظران انجمنها محفوظ است. روند حذف و یا ویرایش ارسالهای مغایر با قوانین سایت یک روند دستی است که توسط مدیران و یا ناظران سایت در یک زمان معقول انجام خواهد شد.
۱۷. برای ارسالهای خود عناوین متناسب با متن ارسال انتخاب نمائید. به عنوان مثال «فقط شبکه» یا «مشکل پشت مشکل» عناوین نامناسب و «به اشتراک گذاری اینترنت در اوبونتو» در صورتی که متن سوال نیز در همین مورد باشد یک عنوان مناسب است.