نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

الدالة itertools.cycle()‎ في بايثون

تعيد الدّالة itertools.cycle()‎ مُكرّرًا يُعيد عناصر الكائن القابل للتّكرار المُعطى ويحفظ نسخة منه، عندما تنتهي قيم الكائن القابل للتّكرار، يُعيد المُكرّر عناصر النّسخة المحفوظة، ويُكرّر ذلك مرارًا وتكرارًا دون نهاية. البنية العامة itertools.cycle(iterable) المعاملات iterable الكائن القابل للتّكرار المرغوب الدّوران على قيمه بشكل لا نهائيّ. القيمة المعادة مُكرّر يُعيد قيم الكائن المُعطى مرارًا وتكرارًا. أمثلة المثال التّالي يوضّح كيفيّة عمل هذه الدّالة، لاحظ استعمال الدّالة next‎()‎ للوصول إلى القيمة المواليّة في المُكرّر، وهذا لأنّ المُكرّر النّاتج لا متناهٍ، وتحويله إلى ...

الوحدة itertools‎ في بايثون

تقّدم الوحدة itertools مجموعة من الأدوات المُساعدة على بناء مُكرّرات مُشابهة لتلك المتوفّرة في لغات مثل APL، وHaskell وSML. بُني كلّ منها بطريقة تُناسب لغة بايثون. الأدوات المُتوفّرة سريعة وتستخدم الذّاكرة بشكل فعّال، وهي مُفيدة سواء بمُفردها أو عبر دمج بعضها ببعض. وعند دمجها مع بعض، تُشكّل "جبرَ مُكرّرات” تُعدّ وسيلة يُمكن استعمالها لإنشاء أدوات أكثر تخصّصًا بشكل فعّال باستخدام بايثون فقط دون الحاجة إلى أيّة لغة برمجيّة أخرى. تُوفّر لغة SML مثلًا الدّالة tabulate‎(f)‎ التي تُنتج السّلسلة ‎f(0)‎,‎ ‎f(1)‎,‎ ...

الدالة itertools.dropwhile()‎ في بايثون

تعيد الدّالة itertools.dropwhile()‎ مُكرّرًا يُزيل العناصرَ من الكائن القابل للتّكرار المعطى ما دامت العبارة المنطقيّة المُعطاة (التي تكون دالّة تستقبل العنصر وتُعيد قيمة منطقيّة) تُساوي القيمة المنطقيّة True؛ بعد أن تُخالف العبارة المنطقيّة قيمةً منطقيّة صحيحة، يستمرّ المُكرّر بإعادة العناصر المتبقيّة كلّها. لاحظ أنّ المُكرّر لا يُنتج أي مُخرجات حتى تُساوي العبارة المنطقيّة القيمةَ False، ما يعني أنّه قد يحتاج إلى وقت طويل للبدء في إعادة القيم. البنية العامة itertools.dropwhile(predicate, iterable) المعاملات predicate العبارة المنطقيّة التي ستُحدّد ما إذا كان ...

الدالة itertools.chain.from_iterable()‎ في بايثون

تعيد الدّالة itertools.chain.from_iterable()‎ مُكرّرًا يُعيد عناصر الكائن القابل للتكرار الأول حتى تنتهيَ عناصره، ثمّ ينتقل إلى الكائن القابل للتّكرار التّالي إلى أن تنتهي قيّمه وهكذا… وتُستخدم لمُعالجة عدّة تسلسلات على أنّها تسلسل واحد مُستمرّ. وتُعدّ الدّالة طريقة بديلة للدّالة itertools.chain()‎، إذ تستقبل هذه الأخيرة عدّة مُعاملات عوضًا عن مُعامل واحد فقط. البنية العامة itertools.chain.from_iterable(iterable) المعاملات iterable الكائن القابل للتّكرار المرغوب تحويل الكائنات التي بداخله إلى تسلسل واحد مُستمر. القيمة المعادة مُكرّر يحتوي على جميع عناصر الكائنات القابلة للتّكرار المتواجدة في ...

الدالة itertools.combinations()‎ في بايثون

تعيد الدّالة itertools.combinations()‎ تسلسلات فرعيّة (subsequences) تُعدّ تجميعاتٍ ذات طولٍ مُحدّد لعناصر الكائن القابل للتّكرار المُعطى. تُنتَج التّجميعات حسب الترتيب المُعجميّ (lexicographic). ما يعني بأنّ الصّفوف النّاتجة ستكون مُرتّبةً إن كان الكائن القابل للتّكرار المُعطى مُرتّبًا. تُعامَل العناصر على أنّها فريدة حسب موقعها، وليس حسب قيمها. لذا إن كانت عناصر الكائن القابل للتّكرار المُدخَل فريدةً فلن تُكرّر أيّة قيم في كلّ تجميعة. البنية العامة itertools.combinations(iterable, r) المعاملات iterable الكائن القابل للتّكرار. r طول الصّفوف النّاتجة. القيمة المعادة صفوف بالطول المُعطى ...

الدالة itertools.chain()‎ في بايثون

تعيد الدّالة itertools.chain()‎ مُكرّرًا يُعيد عناصر الكائن القابل للتكرار الأول حتى تنتهيَ عناصره، ثمّ ينتقل إلى الكائن القابل للتّكرار التّالي إلى أن تنتهي قيّمه وهكذا… وتُستخدم لمُعالجة عدّة تسلسلات على أنّها تسلسل واحد مُستمرّ. البنية العامة itertools.chain(*iterables) المعاملات iterables الكائنات القابلة للتّكرار المرغوب تحويلها إلى تسلسل واحد مُستمر. القيمة المعادة مُكرّر يحتوي على جميع عناصر الكائنات القابلة للتّكرار المُعطاة حسب التّرتيب التي مُرّرت فيها. أمثلة المثال التّالي يوضّح كيفيّة عمل هذه الدّالة: >>> c = itertools.chain([1, 2, 3], 'abc') >>> c <itertools.chain ...

الدالة itertools.product()‎ في بايثون

تعيد الدّالة itertools.product()‎ حاصل الضرب الديكارتي (أو الضرب المباشر) للكائنات القابلة للتّكرار المُعطاة. طريقة العمل مُكافئة لحلقات for المُتداخلة في تعبير مُولّد. مثلًا، الاستدعاء product(A, B)‎ يُعيد ما يُعيده التّعبير ‎((x,y)‎ for‎ x‎ in A‎ for y in B‎)‎. تدور الحلقات المُتداخلة مثل عدّاد مسافة (odometer) من العنصر على أقصى اليمين مُتقدّمةً عند كلّ تكرار. يُنشئ هذا النّسق ترتيبًا مُعجميًّا (lexicographic)، لذا فإن كانت الكائنات القابلة للتّكرار المُعطاة مُرتّبةً، فستُنتج صفوف الضّرب المُباشر مُرتّبةً. البنية العامة itertools.product(*iterables, repeat=1) المعاملات iterables ...

الدالة itertools.zip_longest()‎ في بايثون

تعيد الدّالة itertools.zip_longest()‎ مُكرّرًا يُركّب العناصر من كلّ كائن من الكائنات القابلة للتّكرار المُعطاة. إن كانت الكائنات القابلة للتّكرار غير مُتساويّة في الطّول، فستُستخدم قيمة لملء الفراغات. يُكمل التّكرار إلى أن تنتهي قيم أطول كائن من الكائنات القابلة للتّكرار. البنية العامة itertools.zip_longest(*iterables, fillvalue=None) المعاملات iterables الكائنات القابلة للتّكرار المُراد تركيبها. fillvalue القيمة التي ستُملؤ بها الفراغات. إن لم تُعيّن قيمة للمُعامل فالقيمة الافتراضيّة تكون القيمةَ None. القيمة المعادة مُكرّر يُعيد صفوفًا تُركّب عناصرها من عناصر الكائنات القابلة للتّكرار المُعطاة، ويملؤ ...

الدالة itertools.groupby()‎ في بايثون

تعيد الدّالة itertools.groupby()‎ مُكرّرًا يُعيد مفاتيح مُتسلسلة ومجموعات (groups) تنتمي إلى هذه المفاتيح من الكائن القابل للتّكرار المعطى. العمليّة التي تقوم بها الدّالة مُشابهة لكيفيّة عمل المُرشّح uniq في أنظمة Unix. إذ تُولّد نقطة توقّف (break) أو مجموعة جديدة في كلّ مرّة تتغيّر فيها قيمة الدّالةِ المفتاح (لذا يجب في الغالب ترتيب البيانات باستعمال نفس الدّالة المفتاح). وطريقة العمل هذه تختلف عن طريقة عمل عبارة GROUP BY في لغة SQL التي تجمع العناصر المُشتركة بغضّ النّظر عن ترتيب البيانات. البنية ...

الدالة itertools.compress()‎ في بايثون

تعيد الدّالة itertools.compress()‎ مُكرّرًا يُرشّح العناصر المتواجدة داخل الكائن القابل للتّكرار المُعطى مُعيدًا فقط تلك التي تملك عنصرًا مُحدّدًا يُساوي القيمة المنطقيّة True. ويتوقّف المُكرّر عندما تنتهي قيم البيانات المُعطاة أو قيم المُحدّدات. البنية العامة itertools.compress(data, selectors) المعاملات data البيانات التي ستُرشّح. selectors المُحدّدات التي تُحدّد ما إذا كانت البيانات ستنضم إلى المُكرّر المُعاد أو لا. القيمة المعادة مُكرّر يحتوي على عناصر الكائن data التي تُساوي مُحدّداتها القيمة المنطقيّة True. أمثلة المثال التّالي يوضّح كيفيّة عمل هذه الدّالة: >>> data ...

عرض (20 السابقة | 20 التالية) (20 | 50 | 100 | 250 | 500).