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

كيف يمكننا المرور على عناصر صفّين Tuples بالتوازي في البايثون

Maram Jouriah

السؤال

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

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

يمكننا تحقيق المرور على قائمتين في بايثون سويا من خلال عمل zip لهما (يأخذ طول القائمة الأقصر) :

for f, b in zip(foo, bar):
    print(f, b)

تعمل هذه الطريقة لأن zip يعيد iterator of tuples

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

  • 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...