所以這可能是一個關於使用'.format'的python輸出格式的非常基本的問題,因爲我是初學者,所以我無法弄清楚這是否適合我的生活。我試圖儘可能詳細,只是爲了確保沒有混淆。輸出格式化Python 3.3
讓我舉個例子,讓你更好地理解我的困境。考慮下面的程序
list = (['wer', 'werwe', 'werwe' ,'wer we']) # list[0], list[1], list[2], list[3]
list.append(['vbcv', 'cvnc', 'bnfhn', 'mjyh']) # list[4]
list.append(['yth', 'rnhn', 'mjyu', 'mujym']) # list[5]
list.append(['cxzz', 'bncz', 'nhrt', 'qweq']) # list[6]
first = 'bill'
last = 'gates'
print ('{:10} {:10} {:10} {:10}'.format(first,last,list[5], list[6]))
可以理解的是,這將使輸出:
bill gates ['yth', 'rnhn', 'mjyu', 'mujym'] ['cxzz', 'bncz', 'nhrt', 'qweq']
因此,這裏是我的真正的問題。我正在從書中解決這個練習題,我不明白答案。下面的程序會給你什麼樣的輸出,我們會爲一個好主意:
students = []
students.append(['DeMoines', 'Jim', 'Sophomore', 3.45]) #students[0]
students.append(['Pierre', 'Sophie', 'Sophomore', 4.0]) #students[1]
students.append(['Columbus', 'Maria', 'Senior', 2.5]) #students[2]
students.append(['Phoenix', 'River', 'Junior', 2.45]) #students[3]
students.append(['Olympis', 'Edgar', 'Junior', 3.99]) #students[4]
students.append(['van','john', 'junior', 3.56]) #students[5]
def Grades(students):
print ('Last First Standing GPA')
for students in students:
print('{0:10} {1:10} {2:10} {3:8.2f}'.format(students[0],students[1],students[2],students[3]))
我們正在試圖獲得的輸出是一種,讓所有學生的所有統計數據表的 -
Last First Standing GPA
DeMoines Jim Sophomore 3.45
Pierre Sophie Sophomore 4.00
Columbus Maria Senior 2.50
Phoenix River Junior 2.45
Olympis Edgar Junior 3.99
van john junior 3.56
所以這裏是我不明白。在這兩個例子中,我們正在處理基本相同的事情,即列表中的列表。對於我的第一個例子,print語句是:
print('{:10} {:10} {:10} {:10}'.format(first, last, list[5], list[6]))
其中list[5]
和list[6]
是列出自己和他們是印在整體,你可以從輸出中看到。 但這並不發生在書本問題。在那裏,打印聲明說
print('{0:10} {1:10} {2:10} {3:8.2f}'.format(students[0], students[1], students[2], students[3]))
正如你從上表輸出中看到,這裏students[0]
僅指「DeMoines」。但是,如果您只是在Python解釋器中運行語句students[0]
,則它應該給出整個子列表。
['DeMoines', 'Jim', 'Sophomore', 3.45]
所以,基本上,我有兩個問題,爲什麼students[0]
有兩種不同的含義,爲什麼不students[0]
像我們與list[5]
和list[6]
沒有打印整個列表?
如果我可以提供一個建議:儘量縮短你的例子,並澄清問題陳述。如果你的問題更重要,你會得到更多的關注。 – cfi
我會牢記這一點。謝謝。 – Kye