Python中列表切片问题
li = [0, 1, 2, 3, 4, 5, 6, 7, 8]
print("li[-1:]: ", li[-1:])#li[-1:]: [8]
print("li[:-1]: ", li[:-1])#li[:-1]: [0, 1, 2, 3, 4, 5, 6, 7]
print("li[-1]: ", li[-1])#li[-1]: 8
print("li[0:1]: ", li[0:1])#li[0:1]: [0]
print("li[0]: ", li[0])#li[0]: 0
print("li[0:2]: ", li[0:2])#li[0:2]: [0, 1]
print("li[10]: ", li[10])#IndexError: list index out of range
print("li[10:]: ", li[10:])#li[10:]: []
print("li[:10]: ", li[:10])#li[:10]: [0, 1, 2, 3, 4, 5, 6, 7, 8]
print("li[0:0]: ", li[0:0])#li[0:0]: []
print("li[0:9]: ", li[0:9])#li[0:9]: [0, 1, 2, 3, 4, 5, 6, 7, 8]
发现了吗?只有数字么得冒号的,切片出来就是数字。有冒号的,切片出来就是list。
使用方式是
list[start:end]
- -1是指最后一个位置。
- start的数字,是把列表第一个位置当做0号位开始数的,数到start数字那个位置再切。
- 对于end,如果是0到len(list)内的整数作为end,那么返回的是end-1。
- 如果么得冒号,数字还超出了,会报错。如果有冒号,数字超出也照样只是返回列表而已