شهریور ۲۲, ۱۳۹۸ Mostafa بدون دیدگاه

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

توجه : درخواست افزونه ،قالب، اسکریپت و نرم افزار و ... و سوالات و مشکلات خود را در انجمن ارسال نمایید

Tuples درست شبیه لیست ها می‌باشند با این تفاوت که شما نمی‌توانید مقادیر آن‌ها را ویرایش کنید. مقادیر اولیه که برای تاپل ها تعیین می‌کنید ، تا آخر برنامه ثابت باقی می‌مانند و قابل تغییر نیستند.
tuple ها در پایتون چیزی شبیه به نوع داده ای list می باشند. تاپل ها تعدادی از مقادیر هستند که با ویرگول از یکدیگر تفکیک می شوند. tuple ها داخل () تعریف می شوند.
تفاوت بنیادین میان list ها و tuple ها این است که لیست ها داخل آکولاد [] مشخص می شوند و المان ها و نیز اندازه آن ها تغییر پذیر است در حالی که tuple ها درون پرانتز تعریف می شوند و قابلیت بروز رسانی را ندارند. tuple را می توان لیست های فقط خواندنی نیز نام گذاشت.
فرایند اعلان tuple در ایجاد لیستی از مقادیر تفکیک شده توسط ویرگول خلاصه می شود. در صورت تمایل می توان این مقادیر را داخل پرانتز محصور کرد. مثال:

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";

مثالی از یک tuple تهی را در زیر مشاهده می کنید :

tup1 = ();

در صورت وجود حتی یک مقدار در tuple مورد نظر، بایستی از ویرگول استفاده شود:

tup1 = (50,);

اندیس در نوع داده ای tuple نیز از صفر آغاز می شود. عملیاتی همچون برش و استخراج مقدار، اتصال و غیره … را می توان بر روی tupleاجرا نمود:

دسترسی به مقادیر یک tuple

جهت دسترسی به مقادیر موجود در یک tuple، می بایست از [] و اندیس مقدار مورد نظر استفاده کرد.

#!/usr/bin/python
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5, 6, 7 );
print "tup1[0]: ", tup1[0]
print "tup2[1:5]: ", tup2[1:5]

نتیجه :

tup1[0]:  physics
tup2[1:5]:  [2, 3, 4, 5]

بروز رسانی tuple

همان طور که در بالا تشریح شد، tuple غیر قابل تغییر هستند؛ بدین معنا که امکان ویرایش و بروز رسانی آن ها وجود ندارد. با این حال می توان دو tuple را به هم متصل کرده و tuple جدید خلق کرد، همانند مثال زیر:

#!/usr/bin/python
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');
# Following action is not valid for tuples
# tup1[0] = 100;
# So let's create a new tuple as follows
tup3 = tup1 + tup2;
print tup3

نتیجه :

(۱۲, ۳۴.۵۶, 'abc', 'xyz')

حذف المان های یک tuple

حذف المان های یک tuple به صورت تکی امکان پذیر نیست. با این وجود، می توان دو tuple مورد نظر را که المان های ناخواسته در آن لحاظ نشده، به هم متصل کرد و یک tuple جدید ایجاد نمود.
به منظور حذف کلی یک tuple کافی است دستور del را بکار ببرید:

#!/usr/bin/python
tup = ('physics', 'chemistry', 1997, 2000);
print tup
del tup;
print "After deleting tup : "
print tup

نتیجه ی زیر حاصل می گردد. همان طور که مشاهده می کنید، یک استثنا رخ داده است، زیرا با اجرا شدن دستور del، دیگر tuple وجود ندارد :

('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
  File "test.py", line 9, in <module>
    print tup;
NameError: name 'tup' is not defined

عملیات رایج که بر روی tuple قابل اجرا می باشد

از آنجایی که tuple ها از نوع ساختمان داده ای sequence (زنجیره ای از بایت ها) هستند، می توان عملیاتی نظیر برش و اندیس گذاری را بر روی آن ها پیاده کرد. با درنظر داشتن ورودی زیر:

L = ('spam', 'Spam', 'SPAM!')
شرح : اندیس از صفر آغاز می شود.
عبارت : ‘SPAM!’
خروجی : L[2]
شرح : در صورت منفی بودن از راست شمرده و المان مد نظر را استخراج می کند.
عبارت : ‘Spam’
خروجی : L[-2]
شرح : از یک اندیس به بعد المان ها را برمی گرداند.
عبارت : [‘Spam’, ‘SPAM!’]
خروجی : L[1:]
نکته : هر مجموعه ای که از اشیای تشکیل و سپس توسط تفکیک گری مانند ویرگول از هم جدا شده باشد، اما داخل delimiter هایی همچون پرانتز برای tuple و []برای list محصور نشده باشد، در آن صورت پایتون با این مجموعه به مثابه ی tuple برخورد می کند.
#!/usr/bin/python
print 'abc', -4.24e93, 18+6.6j, 'xyz'
x, y = 1, 2;
print "Value of x , y : ", x,y

نتیجه :

abc -4.24e+93 (18+6.6j) xyz
Value of x , y : 1 2

توابع توکار tuple

cmp(tuple1, tuple2):
المان های دو tuple را با هم مقایسه می کند.
len(tuple):
طول (تعداد کل المان های موجود در) tuple را برمی گرداند.
max(tuple):
آیتمی که دارای بیشترین مقدار است را از میان المان های tuple استخراج کرده و بازمی گرداند.
min(tuple):
آیتمی که دارای کم ترین مقدار می باشد را برمی گرداند.
tuple(seq):
یک لیست را به عنوان پارامتر پذیرفته و آن را به تاپل تبدیل می کند.

برچسب ها
نظرات

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