>>> Hogwarts=['glrffindor','hufflepuff','ravenclaw','slytherin']
>>> Hogwarts
['glrffindor', 'hufflepuff', 'ravenclaw', 'slytherin']
>>> Hogwarts[0:2]
['glrffindor', 'hufflepuff']
从头开始检索到截止, 从起始索引检索到尾。
>>> Hogwarts[2:]
['ravenclaw', 'slytherin']
>>> Hogwarts[:3]
['glrffindor', 'hufflepuff', 'ravenclaw']
>>> Hogwarts[-2:]
['ravenclaw', 'slytherin']
###########################
>>> for x in Hogwarts[:2]:
print(x)
glrffindor
hufflepuff
切片可将数据分批处理。
>>> Hogwarts_copy=Hogwarts[:]
>>> Hogwarts_copy.append('sorting hat')
>>> Hogwarts_copy
['glrffindor', 'hufflepuff', 'ravenclaw', 'slytherin', 'sorting hat']
>>> Hogwarts
['glrffindor', 'hufflepuff', 'ravenclaw', 'slytherin']
#########################
>>> Hogwarts_2=Hogwarts
>>> Hogwarts_2.append('Dumbledor')
>>> Hogwarts_2
['glrffindor', 'hufflepuff', 'ravenclaw', 'slytherin', 'Dumbledor']
>>> Hogwarts
['glrffindor', 'hufflepuff', 'ravenclaw', 'slytherin', 'Dumbledor']
如果用切片创建全新的列表,即是复制整个列表。可获得两个不同的列表。
如果没有使用切片的话,只是简单的赋值,就不能获得两个列表。
如上例中 Hogwarts_copy 和 Hogwarts 是两个不同的列表,我们向其加入新元素,它们之间并不相互影响。
然而 Hogwarts_2 却是Hogwarts的别名了... 其实就是一个列表。