textarea is empty

‎ليست درك مطلبي ـPython -‎list Conprehension

Previous >    <Next  

‎ليست درك مطلبي، زماني كه ميخواهيد يك ليست جديد براساس مقادير يك ليست موجودايجاد كنيد، نحوي ‎كوتاهتري ارائه ميدهد.

‎بعنوان مثال ، ميخواهيد ليستي از يك ليست ميوه ها استخراج كنيد كه آيتم هاي آن داراي حرف ‎‎"a‎"‎باشند .بدون ليست درك مطلبي ازيك حلقه‎for‎ با يك تست شرطي داخلي ‎در حلقه ميتوانيد آنرا انجام دهيد .مطابق زير

--(go to editor for change code and run)

‎اما آنرا با ليست درك مطلبي ميتوان با يك خط كد ايجاد نمود .مطابق زير

--(go to editor for change code and run)

‎فرمت استفاده ـThe Syntax

newlist = [expression for item in iterable if condition ==True]

‎مقدار بازگشتي يك ليست جديد بوده وليست قديمي بدون تغيير باقي مي ماند.

‎شرط ـCondition

‎اين شرط مانند فيلتريست كه فقط مقادير ارزيابي شده‎Trur‎ را مي پذيرد.

‎مثال ـ فقط آيتم هائي كه‎‎"apple‎"‎ نباشند مورد نظراست .

--(go to editor for change code and run)

‎شرط‎if x =!‎"apple‎"‎ همه آيتم هائيكه‎‎"apple‎"‎ نيستند ‎در ليست جديدي برگشت ميدهد.

‎شرط در نحوي ليست درك مطلبي اختياريست و ميتواند حذف شود.

‎مثال ـ بدون شرط يا دستور‎if

--(go to editor for change code and run)

‎تكرار پذير ـIterable

‎براي ليست درك مطلبي ميتوان هر شئ تكرار پذيري مثل تاپل، مجموعه وغيره را هم بكارگرفت.

‎مثال ـ ميتوان از تابع‎range( )‎ براي ايجاد تكرار پذير استفاده نمود .

--(go to editor for change code and run)

‎همان مثل قبلي با اعمال شرط

‎مثال ـ اعداد كوچكتر از‎5

--(go to editor for change code and run)

‎عبارت ـExpression

‎اين عبارت، آيتم فعلي در ليست است، اما همچنين نتيجه ايست كه ميتوان قبل از اينكه مانند يك ‎آيتم ليست در ليست جديد قرارگيرد، آن را دستكاري كرد.

‎مثال ـ تنظيم آيتم ها به حروف بزرگ در ليست جديد.

--(go to editor for change code and run)

‎مثال ـ همان مثال قبلي با روش اوليه مطايق زير است

--(go to editor for change code and run)

‎ميتوانيد نتيجه را هرطوري كه بخواهيد تنظيم كنيد.

‎مثال ـ تنظيم همه آيتم ها به‎‎"hello!‎"

--(go to editor for change code and run)

‎عبارت ميتواند داراي شرط باشد، البته نه مشابه فيلترينگ ، بلكه براي دستكاري نتيجه

‎مثال ـ شرط در عبارت .بجاي‎"banana‎"‎برگشتي ‎‎"orange‎"‎ خواهد بود .

--(go to editor for change code and run)


Previous >    <Next