python--列表,元组

来源:互联网 发布:专气致柔 能如婴儿乎 编辑:程序博客网 时间:2024/05/16 07:12

一.概述

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']




1 0
原创粉丝点击