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

السؤال

نشر

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

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...