Tuple Python
Tuple Python
چندتائیها در پایتون
T u p l e s
1- Matthes, Eric. Python crash course: a hands-on, project-based introduction to programming, 2016.
2- Sweigart, A. Automate the boring stuff with Python: practical programming for total beginners, 2015.
3- Lutz, Mark. Learning Python: Powerful Object-Oriented Programming. O'Reilly Media, Inc., 2013.
4- https://python.coderz.ir
5- https:// www.tutorialspoint.com/python3/python_tuples.htm
6- https://www.geeksforgeeks.org/tuples-in-python.htm
تعریف چندتائی
تعریف چندتائی:
یک چندتائی( )tupleدنبالهای مرتب و تغییرناپذیر از اشیاء در پایتون است .اعضای یک شئ چندتایی داخل
پرانتز قرار میگیرند و با کاما از هم جدا میشوند:
(عضوnام،...،عضودوم،عضواول)
چند نکته:
.1چندتائیها همانند لیستها هستند با این تفاوت که برخالف لیستها نمیتوان چندتائیها را تغییر داد.
.2چندتائی به دلیل تغییر ناپذیر بودن ،نسبت به نوع لیست در مصرف حافظه بهینهتر میباشد.
.3برای ایجاد شی چندتائی میتوان از گذاردن پرانتز صرف نظر کرد و تنها اشیای را با کاما از یکدیگر جدا نمود.
ساخت چندتائی
چندتایئ خالی:
برای ساخت یک شیء چندتائی بدون عضو ،از تابع tupleاستفاده میشود:
() = tupleنامچندتائی
مثال:
)(my_tuple = tuple
مثال:
my_tuple1 )= (1399,
my_tuple1 = 1399,
my_tuple1 )= (‘UMZ’,
my_tuple1 = ‘UMZ’,
نکته:
چندتائیها همانند لیستها هستند با این تفاوت که برخالف لیستها نمیتوان چندتائیها را تغییر داد. .1
چندتائی به دلیل تغییر ناپذیر بودن ،نسبت به نوع لیست در مصرف حافظه بهینهتر میباشد. .2
برای ایجاد شی چندتائی میتوان از گذاردن پرانتز صرف نظر کرد و تنها اشیای را با کاما از یکدیگر جدا نمود. .3
نام چندتایی ارجاعی به شئ چندتائی است. .4
ساخت چندتائی
مثال:
)my_tuple1 = (1, 3, 99, ‘U’, ‘M’, ‘Z’, 34.6
my_tuple1 = 1, 3, 99, ‘U’, “M”, ‘Z’, 34.6
نکته:
.1اعضای دنباله متناظر با یک چندتائی با بیش از یک عضو میتوانند از انواع دادهای متفاوت باشند.
.2برای ایجاد شی چندتائی میتوان از گذاردن پرانتز صرف نظر کرد و تنها اشیای را با کاما از یکدیگر جدا نمود.
ساخت چندتائی
مثال:
”Str1 = ”UMZ CFP 991
)Tuple1 = tuple(Str1
)print(Tuple1
:خروجی
)’(‘U’, ‘M’, ‘Z’, ‘ ‘, ‘C’, ‘F’, ‘P’, ‘ ‘, ‘9’, ‘9’, ‘1
مثال:
]Lst1 = [1, 3, 99, ‘U’, ‘M’, ‘Z’, 34.6
)Tuple1 = tuple(Lst1
)print(Tuple1
:خروجی
)(1, 3, 99, ‘U’, ‘M’, ‘Z’, 34.6
ساخت چندتائی
مثال:
)”tuple1 = (”UMZ”, “ “, ”CFP
tuple2 = 991,
tuple3 = tuple1+ tuple2
)print(tuple3
:خروجی
)(‘UMZ’, ‘ ‘, ‘CFP’, 991
ساخت چندتائی
مثال:
)tuple1 = (”UMZ CFP”,
tuple2 = tuple1*3
)print(tuple2
:خروجی
)’(‘UMZ CFP’, ‘UMZ CFP’, ‘UMZ CFP
ساخت چندتائی
مثال:
)Tuple1 = (0, 1, 2, 3
)'Tuple2 = ('python', 'CS
)Tuple3 = (Tuple1, Tuple2
)" print("\nTuple with nested tuples:
)print(Tuple3
:خروجی
) )')(0, 1, 2, 3) , ('python', 'CS
ساخت چندتائی
:مثال
Tuple1 = ('CFP991’,)
n=3
print("\nTuple with a loop")
for i in range(int(n)):
Tuple1 = (Tuple1,)
print(Tuple1)
خروجی:
()'CFP991',),)
())'CFP991',),),)
()))'CFP991',),),),)
دسترسی به اعضای یک چندتائی
)’my_tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’, ‘ ‘, ‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g
نکته:
با استفاده از تابع () lenمیتوان تعداد اعضای یک دنباله را به دست آورد.
دسترسی به اعضای یک چندتائی
)’my_tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’, ‘ ‘, ‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g
۰ 1 ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ 1۰ 11 1۲ 1۳
’’P ’‘y ’‘t ’‘h ’‘o ’‘n ‘‘ ’‘s ’‘t ’‘r ’‘i ’‘n ’‘g ’‘s
-14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
for x in (1,2,3):
)' ’ = print(x, end
:خروجی
123
حذف یک شئ چندتائی
با توجه به غیرقابل تغییر بودن چندتائی سبب میشود که نتوان اعضای یک شئ چندتایی را به تنهایی یا به
تعدادی خاص حذف نمود .اما یک شئ چندتایی را میتوان با استفاده از دستور delبه طور صریح کامال حذف
)’my_tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’, ‘ ‘, ‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g
del my_tuple
عملگرها و چندتائیها
Tuple1 = )'p', 'y', [1, 2, 3], 5)
print(‘p’ in Tuple1) True
if )'p', 'y’)==(‘p’,’t’):
print(True)
else:
False
print(False)
:نکته مهم
ویژگیهای خود را داشته و، اشیاء تغییرپذیر درون شی چندتائی، به دلیل ساختار ارجاعی بین اشیاء در پایتون
:همچنان تغییرپذیر خواهند بود
Tuple1 = )'p', 'y', [1, 2, 3], 5)
print(Tuple1[2])
Tuple1[2][2]=9 [1, 2, 3]
print(Tuple1) )'p', 'y', [1, 2, 9], 5)
عملگرها و چندتائیها
)Tuple1 = )'p', 'y', [1, 2, 3], 5
Tuple2 = Tuple1
Tuple1[2][2]=0
)print(‘Tuple1: ’, Tuple1 )Tuple1: )'p', 'y', [1, 2, 0], 5
)print(‘Tuple2: ’, Tuple2 )Tuple2: )'p', 'y', [1, 2, 0], 5
نکته مهم:
اشیاء تغییرپذیر نظیر لیست و چندتائی را نمیتوان با استفاده از عملگر انتساب کپی نمود .زیرا تغییر در یک شئ
سبب همان تغییر در شئ دیگر میشود.
برای انتساب متغیرهای تغییر پذیر نظیر لیست و چندتائی میتوان از تابع deepcopyاز ماژول copy
استفاده نمود.
import copy
)Tuple1 = )'p', 'y', [1, 2, 3], 5
)Tuple2 =copy.deepcopy(Tuple1
Tuple1[2][2]=0
)print(‘Tuple1: ’, Tuple1 )Tuple1: )'p', 'y', [1, 2, 0], 5
)print(‘Tuple2: ’, Tuple2 )Tuple2: )'p', 'y', [1, 2, 3], 5
توابع پیشساخته برای دستکاری چندتائیها