打印在Python
问题描述:
pizzas = ["hawai","salame","vegetable","capriciosa","new york"]
for pizza in pizzas:
print("I like " + pizza.title() + " pizza!")
print("\n" + "The first three pizzas in the list are: " + str(pizzas[0:3]))
print("\n" + "The last three pizzas in the list are: " + str(pizzas[-1:-3]))
最后三个项目的列表中,我得到:打印在Python
I like Hawai pizza!
I like Salame pizza!
I like Vegetable pizza!
I like Capriciosa pizza!
I like New York pizza!
The first three pizzas in the list are: ['hawai', 'salame', 'vegetable']
The last three pizzas in the list are: []
,我很困惑。是不是-1
表示列表中的最后一个元素?我索引[start:stop]
所以不应该打印我的最后3个项目?我究竟做错了什么 ?
答
您应该使用pizzas[-3:]
来代替,以便您的start
是列表末尾的第三个元素,而您的end
是列表的最后一个。
pizzas = ["hawai","salame","vegetable","capriciosa","new york"]
for pizza in pizzas:
print("I like " + pizza.title() + " pizza!")
print("\nThe first three pizzas in the list are: " + str(pizzas[:3]))
print("\nThe last three pizzas in the list are: " + str(pizzas[-3:]))
答
默认步骤是1,所以从-1到-3,步骤为1返回空片。你可以明确地指示步骤为-1,但这种反转项目的顺序:
>>> pizzas[-1:-3:-1]
['new york', 'capriciosa'] # -3 excluded
但是,要获得最后三个项目,你要的是pizza[-3:]
+0
真棒:)这回答我的两个问题!谢谢。 – adam86
你需要的是'比萨饼[ -3:]' – JBernardo