python(8): list
时间:2006-02-24 来源:newsim
list在python是一种有顺序的、可变的类型,list的成员可以是任何一种python类型,甚至也包括list,也就是list可以作为另一个list的成员。在list中,实际上保存的只是每一个成员对象的指针。在cpython中,list后台实现用的就是c中的数组。
list的表示形式用的是一对中括号,成员用逗号隔开:
list的两大特点是:有顺序的、可变的。由于第一个特点,list可以使用类似于string的分片的方法进行操作。由于第二个特点可以直接改变list而不用创建新的list,可以直接对list进行增、删、改的操作。一定要记住,有些操作不会返回一个新的list。下面一个一个来看。
计算一个list中有几个成员,类似于string,这个函数是len(),是内置的。会返回一个int值。
往一个list中增加成员有多种方法,一种是用"分片"技术,另一中是调用list的专属函数,还可以使用+。
再来看看list的删除操作。
list的改操作。
除了上面提到的一些专属函数外,list还有一些专属函数:
list的表示形式用的是一对中括号,成员用逗号隔开:
- [成员1, 成员2, 成员3...]
list的两大特点是:有顺序的、可变的。由于第一个特点,list可以使用类似于string的分片的方法进行操作。由于第二个特点可以直接改变list而不用创建新的list,可以直接对list进行增、删、改的操作。一定要记住,有些操作不会返回一个新的list。下面一个一个来看。
计算一个list中有几个成员,类似于string,这个函数是len(),是内置的。会返回一个int值。
往一个list中增加成员有多种方法,一种是用"分片"技术,另一中是调用list的专属函数,还可以使用+。
- >>> L=range(3)
- >>> L
- [0, 1, 2]
- >>> L[len(L)] = 3
- >>> L
- [0, 1, 2, 3]
- >>> L.append(4)
- >>> L
- [0, 1, 2, 3, 4]
- >>> L.extend([5, 6])
- >>> L
- [0, 1, 2, 3, 4, 5, 6]
- >>> L = L + [7]
- >>> L
- [0, 1, 2, 3, 4, 5, 6, 7]
再来看看list的删除操作。
- >>> L
- [0, 1, 2, 3, 4, 5, 6, 7]
- >>> L[7:]=[]
- >>> L
- [0, 1, 2, 3, 4, 5, 6]
- >>> L.pop()
- >>> L
- [0, 1, 2, 3, 4, 5]
- >>> del L[5]
- >>> L
- [0, 1, 2, 3, 4]
list的改操作。
- >>> L
- [0, 1, 2, 3, 4]
- >>> L[1:3]=['a', 'b', 'c']
- >>> L
- [0, 'a', 'b', 'c', 4]
- >>> L[0] = "helo"
- >>> L
- ['helo', 'a', 'b', 'c', 4]
除了上面提到的一些专属函数外,list还有一些专属函数:
- L.append(object)
- L.extend(seq)
- L.pop([index])
- L.count(value) #计算value在L中出现的次数
- L.sort([cmp[, key[, reverse]]])
#对L进行排序。cmp是一个比较函数,它有两个参数,只能返回-1 0 1 中的一个,分别表示第一个参数比第二个参数小 相等 大。key也是一个函数,只有一个参数,用来给这个参数产生一个用于比较的标志,比如说它可以把所有东西都转成字符串,然后再来比较。reverse是一个bool值,为真时表示,降序排列。在python2.4之后,才可以使用key和reverse参数,cmp可以为None,表示忽略cmp函数。 - L.reverse() #颠倒L
- L.index(x[,start[,end]]) #返回x在list第一次出现的标号
- L.insert(i, x) #相当于L[i:i]= [x]
- L.remove(x) #相当于del L[L.index(x)]
相关阅读 更多 +