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

السؤال

نشر (معدل)

كيف يمكننا أن نمر على عناصر صفّين بالتوازي، مثلًا :

foo = (1, 2, 3)
bar = (4, 5, 6)

for (f, b) in some_iterator(foo, bar):
    print("f: ", f, "; b: ", b)

هل يوجد طريقة مختصرة أكثر! الخرج المتوقع هكذا:

f: 1; b: 4
f: 2; b: 5
f: 3; b: 6

 

تم التعديل في بواسطة Ali Haidar Ahmad
تصحيح عنوان السؤال: "كيف ممكن مر على سلستين عناصر عالتوازي"، إضافةً إلى تصحيح شرح السؤال

Recommended Posts

  • 0
نشر

يمكنك القيام بذلك بعدة طرق:
1. الطريقة الأبسط هي القيام بذلك بشكل مباشر، كما يلي:

import itertools
foo = (1, 2, 3)
bar = (4, 5, 6)
print("foo        bar")
for i in range(len(foo)):
  print(foo[i],"        ",bar[i])
"""
foo        bar
1          4
2          5
3          6
"""

يمكن أضًا استخدام دوال كما سنرى..
2. من خلال الدالة enumerate:

import itertools
foo = (1, 2, 3)
bar = (4, 5, 6)
print("foo        bar")
for n, f in enumerate( foo ):
  print(f,"   ",bar[n] )
"""
foo        bar
1          4
2          5
3          6
"""

3. من خلال الدالة zip_longest:

import itertools
foo = (1, 2, 3)
bar = (4, 5, 6)
print("foo        bar")
for f, b in itertools.zip_longest(foo,bar):
  print (f,"        ", b)
"""
foo        bar
1          4
2          5
3          6
"""

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...