Python序列——列表

来源:互联网 发布:程序员保密费 编辑:程序博客网 时间:2024/05/29 18:03

列表是能保留任意数目的Python对象的灵活的容器。

  • 赋值
  • 访问
  • 更新(append()
  • 删除(delpop()

序列类型操作符

  • 切片([]和[:])

  • 成员关系操作(in, not in)

  • 连接关系符(+)

extend() 方法可代替连接操作符把一个列表的内容添加到另一个中去。

注: 使用 extend() 方法比连接操作的一个优点是它实际上是把新列表添加到了原有列表里面,而不是像连接操作符那样新建一个列表。

内建函数 append() ,向列表中添加一个对象obj。

  • 重复操作符(*)

标准类型函数 cmp()

序列类型函数

  • len()
  • max()min()
  • sorted()reversed()

sorted函数可以将任何序列返回为一个新的有序列表:

sorted([4,6,2,6,2,1])[1,2,2,4,6,6]

reversed函数用于按逆序迭代序列中的元素:

list(reversed(range(10)))[9,8,7,6,5,4,3,2,1,0]
  • enumerate()zip()

enumerate函数可以逐个返回序列的(i, value)元组:

for i, value in enumerate(collection):    # use value to do something

zip函数用于将多个序列中的元素配对,从而产生一个新的++元组列表++:

seq1 = ['hello', 'world']seq2 = ['one', 'two']zip(seq1, seq2)[('hello', 'one'), ('world', 'two')]

巧妙用法:对该序列进行解压

pitchers = [('Nolan', 'Ryan'), ('Roger', 'Clemens')]first_names, last_names = zip(*pitchers)first_names('Nolan','Roger')last_names('Ryan', 'Clemens')
  • sum()
  • list()tuple()

列表类型內建函数

列表函数 作用 list.append(obj) 向列表中添加一个++对象obj++ list.count(obj) 返回一个对象obj在列表中出现的次数 list.extend(seq) 把++序列seq++的内容添加到列表中。 list.index(obj,i=0,j=len(list)) 返回list[k]==obj的k值,并且k的范围在 1<=k<=j; 否则引发++ValueError异常++ list.insert(index,obj) 在索引量为index的位置插入对象obj list.pop(index=-1) ++删除并返回++指定位置的对象,默认是最后一个元素。 list.remove(obj) 从列表中删除对象obj list.reverse() 原地翻转列表 list.sort(func=None,key=None,reverse=False) 默认排序算法是归并排序

注:
- sort()extend()reverse()中原地执行操作。

  • extend()方法的参数支持任何可迭代对象。

用列表构建其他数据结构

堆栈

#!/usr/bin/env pythonstack = []def pushit():    stack.append(raw_input('Enter New string: ').strip())def popit():    if len(stack) == 0:        print 'cannot pop from an empty stack!'    else:        print 'Removed [', `stack.pop()`, ']'def viewstack():    print stack  #call str() internally

队列

#!/usr/bin/env pythonqueue = []def enQ():    queue.append(raw_input('Enter new string: ').strip())def deQ():    if len(queue) == 0:        print 'Cannot pop from an empty queue!'    else:        print 'Removed [', `queue.pop(0)`, ']'def viewQ():    print queue  #call str() internally
0 0
原创粉丝点击