یکی از تفاوت هایی که میان لیست ها و رشته ها وجود دارد، این است که عناصر یک لیست می توانند تغییر یابند، اما کارکترهای یک رشته نمی توانند به بیان دیگر رشته ها تغییر ناپذیر و لیست ها تغییر پذیر هستند.
در پایتون نوع داده ای مرکبی به نام چند تایی وجود دارد که شبیه لیست است، با این تفاوت که تغییرناپذیر می باشد. از لحاظ نگارشی یک چندتایی لیستی از مقادیر است که به وسیله کاما از هم جدا شده اند:
'tuple = 'a', 'b', 'c', 'd','e <<<
اگر چه ضروری نیست، اما مرسوم است که چندتایی را در پرانتز قرار می دهند:
('tuple = ('a', 'b', 'c', 'd','e <<<
برای سا ختن یک چندتایی با یک عضو، باید کامایی در آخر آن منظور کنیم:
(,'t1 = ('a <<<
(tuple = (t1 <<<
<'type 'tuple>
بدون گذاشتن کاما، پایتون با ('a') به عنوان رشته ای در پرانتز رفتار می کند:
(,'t2 = ('a <<<
(type = (t2 <<<
<'type 'string>
تنها از نحوه نگارش این طور بر می آید که عملیات بر روی چندتایی ها شبیه عملیات بر روی لیست ها است. عملگر اندیس عنصری از یک چندتایی را انتخاب می کند:
'tuple = 'a', 'b', 'c', 'd','e <<<
[tuple = [0 <<<
'a'
و عملگر برش محدوده ای از عناصر را انتخاب می کند:
[3:tuple = [1 <<<
('b' , 'c')
اما اگر سعی کنیم عضوی از چندتایی را تغییر دهیم، یک پیغام خطا می گیریم:
tuple[0]='A <<<
typeError: object doesn' t support item assignment
البته اگر حتی اگر نتوانیم اعضای یک چندتایی را تغییر دهیم، می توانیم آن را با یک چندتایی متمایز جایگزین کنیم:
[:1]tuple=('A',)+tuple <<<
tuple <<<
('a', 'b', 'c', 'd','e')
جهت ثبت نام کارگاه آنلاین برنامه نویسی Pythonکلیک کنید.