Python中的列表(6)

列表切片

  如何拿到列表中的部分元素,Python 引入了 “切片” 的概念。

  上代码:

words = ['a','b','c','d']
print(words[0:3])

  console:

 

冒号(:)左边为想“切”的开始索引,右边则是结束索引,不含右索引处的值,与range() 函数 一样。

省略第一个索引:

words = ['a','b','c','d']
print(words[:3])

console:

如果,省略冒号左边的索引,则默认为列表的开头处切。

省略第二个索引:

words = ['a','b','c','d']
print(words[1:])

console:

如果,省略的是冒号右边的索引,同理,从指定的第一个索引开始直至列表末尾元素。

复制列表

  不难想到,如果两个索引都省略,则是复制了整个列表的元素。这个复制的列表和源列表是互不影响的。可以分别操作其中之一,另一个不会被影响。

  

  如果想用下面的方式去复制列表是行不通的。

words = ['a','b','c','d']
words_copy = words
words_copy.append('e')
print(words_copy)
print(words)

console:

输出表明:两个列表是一样的,改变其中一个列表的元素,另一个随之改变,这并非我们想要的结果。

所以:以上是 复制列表 错误的示范。

如果大学学过C语言或者其他编程语言的话,其实上面的结果比较好理解,就是两个变量指向了同一存储数据地址,只要其中一个去改变,因为另一个也指向它,所以也会对应改变。 

  

猜你喜欢

转载自www.cnblogs.com/tizer/p/10920398.html