您的位置:首页 > 编程语言 > Python开发

python--列表,元组

2015-06-08 09:59 585 查看
一.概述

1.数据结构是通过某些方式组织在一起的数据元素的集合,这些元素可以是数字或者字符,也可以是其他数据结构;

2.最基本的数据结构是序列,序列中的每个元素被分配一个序号,即索引,从0开始;

3.Python中有六种内建的序列:列表,元组,字符串,Unicode字符串,buffer对象,xrange对象;

4.列表可以修改,元组则不能;

5.None是Python内内建的一个空值;

6.列表用[],元组用();

7.元组可以在映射(和集合的成员)中当做键使用,而列表不行。

二.基本操作

1.所有序列都可以进行某些特定的操作:索引(indexing)、分片(slicing)、加(adding)、乘(multiplying)、检查某个元素是否属于序列的成员(成员资格)、内建的max(),min(),len()函数;

2.索引:元素可以通过索引访问,索引从0开始,最后一个的编号是-1;

3.分片:可以通过分片访问一定范围内的元素,还可以指定步长(步长不能为零,可以是负数,表示从右开始取),使用方法:lst[begin,end[,step]],注意:访问的元素包括第一个索引,不包括第二个索引,也可以不指定第一个索引,这表示从第一个元素开始,如果不指定第二个索引,表示取到最后一个元素为止,如果都不指定,取出全部元素;

>>> a = list('helloworld')

>>> a

['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

>>> a[:]

['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

>>> a[:3]

['h', 'e', 'l']

>>> a[5:]

['w', 'o', 'r', 'l', 'd']

>>> a[::2]

['h', 'l', 'o', 'o', 'l']

4.序列相加:使用“+”可以实现序列连接的操作;

>>> a + list('!!')

['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd', '!', '!']

5.乘法:用“*”可以实现重复该序列n次;

>>> list('hello') * 2

['h', 'e', 'l', 'l', 'o', 'h', 'e', 'l', 'l', 'o']

6.成员资格:可以实现检查一个元素是否在序列中,in操作,返回布尔值(True,False);

>>> a

['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

>>> 'h' in a

True

>>> 'z ' in a

False

7.元素赋值:lst[index]=value;

>>> a

['h', 'e', 'a', 'l', 'l', 'o', 'abcd', 'a', 'b', 'c', 'd']

>>> a[2]='b'

>>> a

['h', 'e', 'b', 'l', 'l', 'o', 'abcd', 'a', 'b', 'c', 'd']

8.删除元素:del lst[index];

>>> a

['h', 'e', 'b', 'l', 'l', 'o', 'abcd', 'a', 'b', 'c', 'd']

>>> del a[2]

>>> a

['h', 'e', 'l', 'l', 'o', 'abcd', 'a', 'b', 'c', 'd']

9.分片赋值:可以使用与原序列不等长的序列将分片替换,也可以在不需要替换任何原有元素的情况下插入新的元素,也可以删除元素;

  >>> a

['h', 'e', 'l', 'l', 'o', 'abcd', 'a', 'b', 'c', 'd']

>>> a[5:]='a'

>>> a

['h', 'e', 'l', 'l', 'o', 'a']

>>> a[5:5]='b'

>>> a

['h', 'e', 'l', 'l', 'o', 'b', 'a']

>>> a[5:6]=[]

>>> a

['h', 'e', 'l', 'l', 'o', 'a']

三.函数

1.len(),max(),min():分别返回序列长度,最大值和最小值;

>>> a

['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

>>> len(a)

10

>>> max(a)

'w'

>>> min(a)

'd'

2.list(seq):把序列转换成列表;

>>> list('hello')

['h', 'e', 'l', 'l', 'o']

3.tuple(seq):把序列转换成元组;

>>> tuple('hello')

('h', 'e', 'l', 'l', 'o')

4.reserved(seq):把序列进行反向迭代,返回迭代器对象;

>>> reversed(list('abcd'))

<listreverseiterator object at 0xb779ea8c>

5.sorted(seq):返回排序后的列表;

>>> sorted(list('adcb'))

['a', 'b', 'c', 'd']

四.列表方法(对象.方法(参数))

1.append()方法:在列表末尾追加元素,lst.append(value);

>>> a = list('hello')

>>> a

['h', 'e', 'l', 'l', 'o']

>>> a.append('abcd')

>>> a

['h', 'e', 'l', 'l', 'o', 'abcd']

2.count()方法:返回某个元素出现的次数,lst.count(value);

>>> a

['h', 'e', 'l', 'l', 'o', 'abcd']

>>> a.count('h')

1

>>> a.count('l')

2

3.extend()方法:可以在列表末尾一次性追加另一个序列中的多个值,结果返回被扩展的序列,lst.extend(seq);

>>> a.extend(list('abcd'))

>>> a

['h', 'e', 'l', 'l', 'o', 'abcd', 'a', 'b', 'c', 'd']

4.index()方法:返回从列表中找出某个值第一个匹配项的索引位置,lst.index(value);

>>> a.index('l')

2

5.insert()方法:用于将对象插入到列表中,a.insert(index,value);

>>> a.insert(2,'a')

>>> a

['h', 'e', 'a', 'l', 'l', 'o', 'abcd', 'a', 'b', 'c', 'd']

6.pop()方法:会移除列表最后一个元素,并返回该元素(pop方法是唯一一个既能修改列表又能返回元素值的列表方法),lt.pop([index]);

>>> a

['h', 'e', 'l', 'l', 'o']

>>> a.pop()

'o'

>>> a

['h', 'e', 'l', 'l']

7.remove()方法:会移除列表中第一个匹配的值,lst.remove(value);

>>> a.remove('l')

>>> a

['h', 'e', 'l']

8.reserve()方法:将列表的元素反向存放,lst.reverse();

>>> a.reverse()

>>> a

['l', 'e', 'h']

9.sort()方法:对列表进行排序,lst.sort([cmp][,kye][,reverse]);

>>> a.sort()

>>> a

['e', 'h', 'l']
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: