2017-02-19 84 views
-1

有沒有辦法打印嵌入在句子中的列表的值,而無需單獨調用它們?例如,而不是這樣做:Python - 打印嵌入在句子中的列表的值,而不是單獨調用它們?

test = ["baseball","brother","sister"] 
print ("Bob went out to play {} with his {} and {}.".format(test[0], test[1], test[2])). 

有沒有辦法把它縮短到類似:

print ("Bob went out to play {} with his {} and {}.".format(test[0:2])) 
+0

你可以爲你的參數列表加星號'「{} {} {}」。格式(* test [:3])' –

+0

看看我的新答案。順便說一下,你不應該問一個問題,有人回答它,然後改變你的問題,並標記該人的答案。 – Elodin

+0

@Paul Panzer有或沒有拼接的明星都能搞定!謝謝 – username

回答

1

正如保羅裝甲在問題的評論所指出的,你可以在前面使用*,雖然你需要*test[0:3]而不是*test[0:2]

test = ["baseball","brother","sister"] 
print ("Bob went out to play {} with his {} and {}.".format(*test[0:3])) 

這將產生:

Bob went out to play baseball with his brother and sister. 
+0

謝謝!你知道爲什麼這似乎與或不[0:3]? – username

+0

'*'解包值,沒有它,你只是切分列表,所以它仍然只是一個項目。你也可以在沒有切片的情況下執行'* test'。 [this](http://stackoverflow.com/a/36908/4831822)應該有助於解釋'*'的用法。 –

+0

我明白了,感謝您的解釋!保羅在上面也提到,格式忽略了過多的論點。 – username

相關問題