تقلو
یک لیست غیرقابل تغییر است. پس از ایجاد یک تاپل به هیچ وجه نمی توان آن را تغییر داد.
چرا تاپل ها مورد نیاز است؟
- در صورت محافظت از هرگونه داده در برابر تغییرات (عمدی یا تصادفی).
- قسمتها فضای حافظه کمتری را اشغال میکنند و سریعتر از لیستها هستند.
- برگرداندن چندین مقدار از یک تابع.
- از تاپل ها می توان به عنوان کلیدهای فرهنگ لغت استفاده کرد (در ادامه در مورد آن توضیح خواهیم داد).
ایجاد تاپل ها
1 راه: مانند یک لیست، اما با پرانتز
<جدول>
<بدن>
1
2
3
|
a = (1،2،3،4،5)
print(type(a)) # کلاس 'تقلو'
چاپ (الف) # (1، 2، 3، 4، 5)
|
|
دو راه: با استفاده از تابع
tuple()
<جدول>
<بدن>
1
2
3
|
b = تاپل ((1،2،3،4،5))
چاپ(نوع(ب)) # <کلاس 'تقلو'>
چاپ (ب) # (1، 2، 3، 4، 5)
|
شما باید به یاد داشته باشید!
- تک ها یک لیست غیرقابل تغییر هستند.
- عناصر یک تاپل می توانند انواع مختلفی داشته باشند.
- میتوانید با استفاده از تابع
tuple()
یا با فهرست کردن عناصر داخل پرانتز یک تاپل ایجاد کنید.
ویژگی های چندگانه
1) می توانید بدون استفاده از پرانتز/ مقادیری را به یک تاپل اختصاص دهید
به عنوان مثال، می توانید یک تاپل مانند زیر ایجاد کنید:
<جدول>
<بدن>
1
2
3
|
a = 1,2,3,4,5
print(a[3]) # 4 به یک عنصر از یک تاپل میتوان به همان روشی که عنصری از یک فهرست دسترسی داشت،
# با مشخص کردن شاخص عنصر در براکت.
|
2) برای اعلام یک تاپل که شامل یک عنصر واحد است، باید از یک کاما انتهایی استفاده کنید:
<جدول>
<بدن>
1
2
3
4
|
a = 'a'
b = 'b'،
چاپ (نوع (ب)) # <کلاس 'تبلی'>
print(type(a)) # <class 'str'>
|
3) می توانید مقادیر عناصر تاپل را به متغیرهای جداگانه اختصاص دهید:
<جدول>
<بدن>
1
2
3
|
my_tuple = (1، 2، 3، 4، 5)
a، b، c، d، e = my_tuple
چاپ (ج) #3
|
زیرخط _ را می توان به عنوان متغیرهای غیر ضروری استفاده کرد
<جدول>
<بدن>
1
2
3
|
my_tuple = (1، 2، 3)
a, _, _ = من_جلو
چاپ (الف) #1
|
تعداد متغیرها باید با عدد مطابقت داشته باشد. از عناصر تاپل!
4) یک تاپل می تواند حاوی عناصر تو در تو مختلف باشد. در این حالت، هنگام مراجعه به عناصر تودرتو، باید از براکت های مربع اضافی استفاده کنید
<جدول>
<بدن>
1
2
|
my_tuple = (('a'، 'b'، 'c')، [1، 2]، ((1، 'a' )، ('b'، 'c')))
print(my_tuple[2][1]) # ('b'، 'c')
|
|
اشاره به عناصر. تاپل های تودرتو
تاپل ها می توانند شامل تاپل های دیگری به عنوان عناصر باشند. همچنین لیست ها، رشته ها و غیره را می توان به عنوان عناصر یک تاپل استفاده کرد.
دسترسی به عناصر مشابه دسترسی به عناصر یک لیست است که شاخص عنصر را در پرانتز مشخص می کند. نمایه سازی از صفر شروع می شود.
هنگام اشاره به عناصر تو در تو، باید از براکت های مربع اضافی استفاده شود.
my_tuple = (('a'، 'b'، 'c')، [1، 2]، ((1، 'a' )، ('b'، 'c')))
print(my_tuple[2][1]) # ('b'، 'c')
|
مقایسه تاپل ها
هنگام مقایسه تاپل ها:
- اعداد با مقدار مقایسه می شوند;
- رشته ها به ترتیب واژگانی؛
- در صورت برابری عناصر در موقعیت های یکسان، عناصر زیر با هم مقایسه می شوند؛
- مقایسه عناصر تا اولین نابرابری رخ خواهد داد؛
- هنگام مقایسه، عناصر باید به یک نوع ریخته شوند (شما نمی توانید یک عدد و یک رشته را مقایسه کنید).
مثال
<جدول>
<بدن>
1
2
3
4
5
6
7
8
9
10
یازده
12
|
A=4
B=8
C = 'a'،
D = 'z'،
E = (14، 'حداکثر'، 'حداقل')
F = (14، 'حداکثر'، 'دقیقه')
K=999
چاپ (A < B) # درست است
چاپ (C < D) # درست است
چاپ (E > F) # درست است
چاپ (K < F) # نادرست
چاپ (C < K) # TypeError: '<' پشتیبانی نشده
# بین نمونه های 'str' و 'int'
|
|
برش
برش را می توان مشابه لیست ها انجام داد.
لازم به یادآوری است که با گرفتن یک عنصر به صورت فهرست یا برش ( slice )، به هیچ وجه تاپل را تغییر نمی دهیم، فقط بخشی از آن را برای استفاده بیشتر (مثلاً برای چاپ) کپی می کنیم. ، برخی از محاسبات و غیره .p.).
برش نحو
my_tuple[start:stop:step] # start، stop و step
|
الحاق چندگانه
امکان به هم پیوستن تاپل ها برای ایجاد یک شی جدید (الحاق، شبیه به رشته ها) وجود دارد.
<جدول>
<بدن>
1
2
3
4
|
x = (1،2،3،4)
y = (5،6،7،8)
z = x + y
print(z) # (1، 2، 3، 4، 5، 6، 7، 8)
|
در طی عملیات ضرب، تاپل چندین بار تکرار می شود (مشابه ضرب رشته ای).
<جدول>
<بدن>
1
2
3
|
x = (1،2،3،4)
z = x*2
print(z) # (1، 2، 3، 4، 1، 2، 3، 4)
|
حذف یک تاپل
عملیات و متدهای تاپلی مشابه عملیات و متدهای لیست هستند. به جز مواردی که عناصر یک تاپل را تغییر می دهند.
یک عنصر موجود در یک tuple به دلیل تغییر ناپذیری نمی تواند اضافه یا حذف شود. با این حال، خود تاپل را می توان با استفاده از عملگر del حذف کرد.
<جدول>
<بدن>
1
2
|
دانشجو = (2007، 'ایوان'، 'ایوانف'، '9-A'، نادرست)
del student
|
|
روش های کار با تاپل ها
روشهای کار با تاپلها مشابه روشهای کار با لیستها هستند، به جز روشهایی که تاپل را تغییر میدهند. چنین روش هایی به دلیل تغییر ناپذیری تاپل در دسترس نیستند. آنها را می توان با ایجاد یک تاپل جدید اعمال کرد.
نمونه مرتب سازی تاپلی
با استفاده از تابع sorted() می توانید به راحتی یک تاپل را مرتب کنید.
<جدول>
<بدن>
1
2
3
4
|
a = (5، 3، 2، 1، 4)
چاپ(مرتب شده(a)) # [1، 2، 3، 4، 5]
a = تاپل(مرتب شده(a))
چاپ (الف) # (1، 2، 3، 4، 5)
|
توجه داشته باشید که روشهایی مانند append() ، extend() ، remove() با تاپلها و pop() .
|