列表:python的‘苦力’

上一篇 / 下一篇  2012-03-13 12:35:15 / 个人分类:Python

列表是可变的(mutable)
1, list函数
>>> list('hello')
['h', 'e', 'l', 'l', 'o']

2, 基本的列表操作

(1) 改变列表:元素赋值
>>> x=[1,2,3]
>>> x[0]=9
>>> x
[9, 2, 3]
>>> x[9]=0
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
不能为一个位置不存在的元素进行赋值。

(2) 删除元素
>>> del x[0]
>>> x
[2, 3]

(3) 分片赋值
>>> name=list('abcdef')
>>> name
['a', 'b', 'c', 'd', 'e', 'f']
>>> name[0:2]=list('123')
>>> name
['1', '2', '3', 'c', 'd', 'e', 'f']

3, 列表方法
(1) append方法用于在列表末尾追加新的对象。
>>> age=[1,2,3]
>>> age.append(7)
>>> age
[1, 2, 3, 7]

(2) count方法统计某个元素在列表中出现的次数。
>>> name
['1', '2', '3', 'c', 'd', 'e', 'f', 3, '3']
>>> name.count('3')
2

(3) extend可以在列表的末尾一次性追加另一个序列中的多个值
>>> a=[1,2,3]
>>> b=[4,5]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5]
看起来很像连接操作,两者最主要区别在于,extend方法修改了被扩展的序列(在这个例子中就是a)。而原始的连接操作则不然,它会返回一个全新列表
>>> a=[1,2,3]
>>> b=[4,5]
>>> a+b
[1, 2, 3, 4, 5]
>>> a
[1, 2, 3]

(4) index方法用于从列表中找到某个值第一个匹配项的索引位置。
>>> a
[1, 2, 3]
>>> a.index(1)
0

(5) insert用于将对象插入到列表中
>>> a
[1, 2, 3]
>>> a.insert(2,7)
>>> a
[1, 2, 7, 3]

(6) pop会移除列表中的一个元素,默认是最后一个,并且返回该元素的值
>>> a
[1, 2, 7, 3]
>>> a.pop()
3
>>> a
[1, 2, 7]
假如在pop后面有参数的话,就是要移出该索引的元素
>>> a
[1, 2, 7]
>>> a.pop(1)
2
>>> a
[1, 7]

(7) remove方法用于移除列表中某个值的第一个匹配项:
>>> a=[1,2,3]
>>> a.remove(2)
>>> a
[1, 3]
注意,remove是一个没有返回值的原位置改变方法,它修改了列表却没有返回值,与pop相反。

(8) sort方法用于在原位置对列表进行排序。
>>> a=[9,4,7,1,0]
>>> a.sort()
>>> a
[0, 1, 4, 7, 9]

(9) reverse
>>> a
[0, 1, 4, 7, 9]
>>> a.reverse()
>>> a
[9, 7, 4, 1, 0]

(10) 高级排序,按照特定的方式进行排序,而不是sort默认的方式。


TAG:

BM 引用 删除 duzilonglove   /   2012-03-13 14:03:28
原组:
原组与列表一样也是一种序列,唯一不同的是原组不能修改。
创建原组:
>>> 1,3,4
(1, 3, 4)
>>> (1,2,5)
(1, 2, 5)
>>> (0)
0
这里注意到一个值的元素创建并没有成功,必须加个逗号,看下面
>>> (0,)
(0,)
再看下面这个例子。
>>> 2*(2+4)
12
>>> 2*(2+4,)
(6, 6)

tuple函数的功能与list基本一样,以一个序列作为参数并把它转换为原组。
>>> tuple('apple')
('a', 'p', 'p', 'l', 'e')
>>> tuple((1,2,3))
(1, 2, 3)

基本原组操作:
除了创建原组和访问元素之外,没太多其他操作,可以参照其他类型序列来实现
 

评分:0

我来说两句

Open Toolbar