• 0

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

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

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

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

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 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 |
+-------+-----+

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن