اذهب إلى المحتوى
  • 0

كيف أدور حول حلقتين في نفس الوقت في بايثون؟

TheBrain

السؤال

أريد أن أكتب حلقة تكرار تدور حول قائمتين معا في نفس الوقت، أي بطريقة مشابهة لهذه:

for i in range(len(Latitudes):
  Lat,Long=(Latitudes[i],Longitudes[i])

فهل هذا ممكن في لغة بايثون؟ وكيف يمكنني فعل ذلك؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يوجد العديد من الطرق لفعل ذلك في بايثون لكن أشهرها هي عن طريق استخدام الدالة المدمجة zip حيث سنمرر لحلقة التكرار القائمتين lat وlong (مثلا) كالتالي:

for lat, long in zip(Latitudes, Longitudes):
    print lat, long

والطريقة الشهيرة الثانية لفعل ذلك هي عن طريق استخدام حلقة تكرار map كما في المثال التالي:

>>> a
[1, 2, 3]
>>> b
[4, 5, 6]
>>> for i,j in map(None,a,b):
    ...   print i,j
    ...
1 4
2 5
3 6

الفرق بين الطريقتين أنه في zip يجب أن يكون طول القائمتين متساويين على عكس map، لتفهم أكثر أنظر إلى المثالين التاليين:

>>> a
[1, 2, 3, 9]
>>> b
[4, 5, 6]
>>> for i,j in zip(a,b):
    ...   print i,j
    ...
1 4
2 5
3 6

وهذا المثال:

>>> for i,j in map(None,a,b):
    ...   print i,j
    ...

    1 4
    2 5
    3 6
    9 None
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...