برخی ژنراتورهای ساده میتوانند به طور مختصر به صورت عبارات با نحوی مشابه فهرستهای توصیفی اما با پرانتز به جای براکتهای مربعی کد شوند. این عبارات برای موقعیتهایی طراحی شدهاند که ژنراتور فوراً توسط تابع محصورکننده استفاده شود. عبارتهای ژنراتور فشردهتر اما کمتر انعطافپذیرتر از تعریفهای کامل ژنراتور هستند و تمایل دارند سازگارتر با حافظه نسبت به فهرستهای توصیفی معادل باشند.
مثالها:
>>> sum(i*i for i in range(10)) # مجموع مربعها 285 >>> xvec = [10, 20, 30] >>> yvec = [7, 5, 3] >>> sum(x*y for x,y in zip(xvec, yvec)) # حاصلضرب نقطهای 260 >>> unique_words = set(word for line in page for word in line.split()) >>> valedictorian = max((student.gpa, student.name) for student in graduates) >>> data = 'golf' >>> list(data[i] for i in range(len(data)-1, -1, -1)) ['f', 'l', 'o', 'g']
این محتوا کاملا رایگان توسط تیم کدلپر ترجمه شده و در اختیار شما کاربران عزیز قرار گرفته است، هر گونه کپی برداری برای مقاصد غیر رایگان و بدون ذکر منبع، مورد پیگیری قانونی قرار میگیرد.
ترجمه شده از منبع: https://docs.python.org/3/tutorial