Loading…

جزیره برنامه نویسی و توسعه نرم افزار

ارسال کننده: حسین احمدی
حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...
ارسال پیام خصوصی
امتیازات این مطلب
نکته: آموزش زبان پایتون :: قسمت پانزدهم - تابع zip و پیمایش چند لیست به صورت همزمان
یکی از توابع بسیار جالب در زبان پایتون تابع zip است که بوسیله این تابع می توان بوسیله حلقه for به صورت همزنان آیتم های چند لیست مختلف را پیمایش کرد. ساختار استفاده از این تابع در دستور for به صورت زیر است:

for item1,item2,...,itemn in zip(list1,list2,...,listn):
    // loop statement(s)

در مثال بالا مشاهده می کنید که تابع zip یک تا n پارامتر را دریافت می کند که هر پارامتر یک لیست است، در قسمت تعریف متغیرهای حلقه for به ازای هر لیست یک متغیر تعریف می کنیم، با اجرای حلقه آیتم های اول هر یک از لیست ها در متغیرهای متناظر قرار میگیرد و داخل حلقه می توان از آیتم ها استفاده کرد. حلقه for ای که با تابع zip اجرا می شود، تنها تا زمانی ادامه پیدا می کند که به آخرین آیتم کوچکترین لیست برسیم. در مثال زیر با نحوه استفاده از تابع zip آشنا می شویم:

>>> list1=[1,2,3,4,5,6,7,8,9]
>>> list2=[4,6,8,2,3,7]
>>> list3=[7,3,9,1,4,6,8,2]
>>> for item1,item2,item3 in zip(list1,list2,list3):
...     print(str(item1)+','+str(item2)+','+str(item3))
...
1,4,7
2,6,3
3,8,9
4,2,1
5,3,4
6,7,6

در خروجی کد بالا، در خط اول اعداد 1 و 4 و 7 در خروجی چاپ شدند که این اعداد آیتم های اول list1 و list2 و list3 هستند و تعداد کل خطوط خروجی کد بالا 6 خط می باشد که معادل تعداد آیتم های list2 می باشد. اما کاری که تابع zip انجام می دهد یک لیست بر میگرداند که هر آیتم آن یک tuple از آیتم های معادل لیست های مشخص شده هستند:

>>> zip(list1,list2,list3)
[(1, 4, 7), (2, 6, 3), (3, 8, 9), (4, 2, 1), (5, 3, 4), (6, 7, 6)]

نویسنده: حسین احمدی
منبع: ITpro
سایر مطالب این گروه
دیدگاه ها

هیچ دیدگاهی برای این مطلب ارسال نشده است

برای ارسال نظر وارد شوید.