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

كيف أطبع القوائم على شكل جداول في بايثون؟

Blackhacker

السؤال

أريد طباعة هذه القائمة وهذه المصفوفة على شكل جدول في لغة بايثون:

teams_list = ["Man Utd", "Man City", "T Hotspur"]
data = np.array([[1, 2, 1],
                 [0, 1, 0],
                 [2, 4, 2]])

حيث ستصبح على الشكل التالي:

            Man Utd   Man City   T Hotspur
  Man Utd         1          0           0
 Man City         1          1           0
T Hotspur         0          1           2

فما هي الطريقة الصحيحة لفعل ذلك؟

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

Recommended Posts

  • 0

هنالك عدّة طرق في لغة بايثون يمكنك من خلالها طباعة القوائم على شكل جداول، فعلى سبيل المثال يمكن استخدام هذه الطريقة والتي ستنشئ الجدول المطلوب:

row_format ="{:>15}" * (len(teams_list) + 1)
print row_format.format("", *teams_list)
for team, row in zip(teams_list, data):
    print row_format.format(team, *row)

كما يمكنك استخدام حزم خارجية لإنشاء الجداول بسهولة أكبر، باستخدام حزمة tabulate كما في المثال التالي:

>>> from tabulate import tabulate
>>> print tabulate([['Alice', 24], ['Bob', 19]], headers=['Name', 'Age'])
Name      Age
------  -----
Alice      24
Bob        19

أو يمكنك استخدام حزمة PrettyTable على الرغم من أنها أعقد قليلا من الأولى، إلا أن هذه الحزمة تنشئ الجدول بطريقة أجمل كما في المثال التالي:

>>> from prettytable import PrettyTable
>>> t = PrettyTable(['Name', 'Age'])
>>> t.add_row(['Alice', 24])
>>> t.add_row(['Bob', 19])
>>> print t
+-------+-----+
|  Name | Age |
+-------+-----+
| Alice |  24 |
|  Bob  |  19 |
+-------+-----+
رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...