val[0:-1]是python特有的切片操作,也叫切割操作,這裡的下標0表示左起第一個元素, -1表示倒數最後一個元素。取一個list或tuple的部分元素是非常常見的操作。比如,一個list如下:“L = ["Michael", "Sarah", "Tracy", "Bob", "Jack"]”取前3個元素,利用切片操作就是“L[0:3]”。如果第一個索引是0,還可以省略“L[:3]”。類似的,既然Python支援L[-1]取倒數第一個元素,那麼它同樣支援倒數切片,試試“L[-2:]”,返回的就是“["Bob", "Jack"]”,記住倒數第一個元素的索引是-1。擴充套件資料:對於具有序列結構的資料來說,切片操作的方法是:consequence[start_index: end_index: step]。1、start_index:表示是第一個元素物件,正索引位置預設為0;負索引位置預設為 -len(consequence)2、end_index:表示是最後一個元素物件,正索引位置預設為 len(consequence)-1;負索引位置預設為 -1。3、step:表示取值的步長,預設為1,步長值不能為0。注意:對於序列結構資料來說,索引和步長都具有正負兩個值,分別表示左右兩個方向取值。索引的正方向從左往右取值,起始位置為0;負方向從右往左取值,起始位置為-1。因此任意一個序列結構資料的索引範圍為 -len(consequence) 到 len(consequence)-1 範圍內的連續整數。切片操作會將按照給定的索引和步長,擷取序列中由連續的物件組成的片段,單個索引返回值可以視為只含有一個物件的連續片段。切片的過程是從第一個想要的物件開始,到第一個不想要的物件結束。第一個想要的物件到第一個不想要的物件之間的連續物件就是你所有想要的物件。因此在consequence[start_index: end_index]中,切片中包含了consequence[start_index],但不包括consequence[end_index]。
val[0:-1]是python特有的切片操作,也叫切割操作,這裡的下標0表示左起第一個元素, -1表示倒數最後一個元素。取一個list或tuple的部分元素是非常常見的操作。比如,一個list如下:“L = ["Michael", "Sarah", "Tracy", "Bob", "Jack"]”取前3個元素,利用切片操作就是“L[0:3]”。如果第一個索引是0,還可以省略“L[:3]”。類似的,既然Python支援L[-1]取倒數第一個元素,那麼它同樣支援倒數切片,試試“L[-2:]”,返回的就是“["Bob", "Jack"]”,記住倒數第一個元素的索引是-1。擴充套件資料:對於具有序列結構的資料來說,切片操作的方法是:consequence[start_index: end_index: step]。1、start_index:表示是第一個元素物件,正索引位置預設為0;負索引位置預設為 -len(consequence)2、end_index:表示是最後一個元素物件,正索引位置預設為 len(consequence)-1;負索引位置預設為 -1。3、step:表示取值的步長,預設為1,步長值不能為0。注意:對於序列結構資料來說,索引和步長都具有正負兩個值,分別表示左右兩個方向取值。索引的正方向從左往右取值,起始位置為0;負方向從右往左取值,起始位置為-1。因此任意一個序列結構資料的索引範圍為 -len(consequence) 到 len(consequence)-1 範圍內的連續整數。切片操作會將按照給定的索引和步長,擷取序列中由連續的物件組成的片段,單個索引返回值可以視為只含有一個物件的連續片段。切片的過程是從第一個想要的物件開始,到第一個不想要的物件結束。第一個想要的物件到第一個不想要的物件之間的連續物件就是你所有想要的物件。因此在consequence[start_index: end_index]中,切片中包含了consequence[start_index],但不包括consequence[end_index]。