我想通過組合兩個列表中的數據來構建一些在python中的可呈現表格。通過組合列表構造'表'
舉個例子,比方說我錄的選手在比賽中,我有名字,時間和每個人一些其他的任意測量:
headings = ['Name:','Time:','Awesomeness:']
info = [('Foo', 15.24242, 100), ('Bar', 421.333, 10), ('Pyth the Python', 3.333, 9000)]
我已經通過使功能應用某些格式neatomatic9000
以使表格的列正確縮進。
def neatomatic9000(something):
print("{0: <20}".format(something), end = '')
for i in headings:
neatomatic9000(i)
print('\n')
for j in info:
for k in j:
neatomatic9000(k)
print('\n')
我的表印像這樣:
Name: Time: Awesomeness:
Foo 15.24242 100
Bar 421.333 10
Pyth the Python 3.333 9000
這看起來不錯,但我試圖與標題表作爲左邊一列 - 基本上我試圖轉它看起來像這樣:
Name: Foo Bar Pyth the Python
Time: 15.24242 421.333 3.333
Awesomeness: 100 10 9000
編輯:在另一方面,蟒蛇僵硬似乎缺乏一個檢查,看看如果事情是一個數無關,如果它是一個浮動或整數。我似乎無法合併一個條件來檢查一個條目是否是一個數字,然後將其四捨五入到小數點後兩位。"{:.2f}".format(k)
我需要開始學習枚舉函數。從來不知道它是作爲python中的內置函數存在的。謝謝。有沒有一種方法可以包含一個檢查以確保每個非字符串條目都是通過{:.2f}「。格式化(floatgoeshere)? – user155876
是的!請參閱下面的@ EMS的答案。您可以檢查是否有某個數字'isinstance(x,Number)')或者它不是一個字符串('不是isinstance(x,str)')。 –