码迷,mamicode.com
首页 > 编程语言 > 详细

从零开始学Python3(二)--list和tuple

时间:2017-09-30 16:20:18      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:定义   end   性能   pen   有序   指定   span   很多   append   

  list和tuple都是python内置的数据类型

list

list是一个可变的有序表,所以,可以往list中追加元素到末尾:

>>> a = [a,b,c,1,2,3]
>>> a.append(4)
>>> a
[a, b, c, 1, 2, 3, 4]

也可以把元素插入到指定的位置,比如索引号为1的位置: (insert比append的性能差很多

>>> a.insert(1,d)
>>> a
[a, d, b, c, 1, 2, 3, 4]

要删除list末尾的元素,用pop()方法:

>>> a
[a, d, b, c, 1, 2, 3, 4]
>>> a.pop()
4
>>> a
[a, d, b, c, 1, 2, 3]

要删除指定位置的元素,用pop(i)方法,其中i是索引位置:

>>> a.pop(2)
b
>>> a
[a, d, c, 1, 2, 3]

要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:

>>> a[1] = 1
>>> a
[a, 1, c, 1, 2, 3]

tuple

只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:

>>> t = (1,)
>>> t
(1,)

来看一个“可变的”tuple:

>>> t = (a,b,[A,B])
>>> t[2][1] = x
>>> t
(a, b, [A, x])

表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向‘a‘,就不能改成指向‘b‘,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。

从零开始学Python3(二)--list和tuple

标签:定义   end   性能   pen   有序   指定   span   很多   append   

原文地址:http://www.cnblogs.com/Detector/p/7615052.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!