Python内置数据类型之list

来源:互联网 发布:黑魂三捏脸数据女 编辑:程序博客网 时间:2024/06/14 14:35

list,列表,是Python内置的一种数据类型。list是一种有序的集合,可以随时添加和删除其中的元素。一个简单的方法识别list,即用“[]”括起来的就是list。

下面介绍list的一些操作。

1.创建list

list是数学意义上的有序集合,也就是说,list中的元素是按照顺序排列的。可以用[]来创建一个list,直接将所有元素都括起来即可,然后将list赋给一个变量,然后就可以通过变量来引用list:

['a','b','c']
Python是一种动态语言,所以list中包含的元素并不一定是同一种数据类型,因此list中可以有不同的数据类型:

L=['Michael',100,True]
一个元素也没有也可以构成一个list,就是空list:

empty_list=[]
2.按照索引访问list

由于list是一个有序的集合,所以可以使用下标进行访问,就像C、C++和java一样:

L=['a','b','c']print L[1] #b
同时,像其他语言一样,对list访问也不能越界。

3.倒序访问list
list还可以倒序访问,比如-1表示list中最后一个元素,-2表示倒数第二个元素:

L=['a','b','c']print L[-1] #cprint L[-2] #b
注意倒序访问时也要注意不能越界。

4.添加新元素

list添加元素可以用两种方法:append和insert。

append()方法可以将元素添加到list的结尾:

L=['a','b','c']L.append('d')print L # ['a','b','c','d']
insert方法需要两个参数,第一个是插入的位置,第二个是元素值,插入位置后面的元素自动向后移动一位:

L=['a','b','c']L.insert(0,'d')print L #['d','a','b','c']
注意,如果插入的位置越界了,那就添加在末尾:
L=['a','b','c']L.insert(100,'d')print L #['a','b','c','d']
insert也可以倒序插入,插入在倒数相应元素的前面:

L=['a','b','c']L.insert(-1,'d')print L #['a','b','d','c']
如果数值太小,就插在list的开头:
L=['a','b','c']L.insert(-100,'d')print L #['d','a','b','c']
5.从list删除元素

删除元素可以用pop、del和remove。

pop方法总是删除list最后一个元素,同时返回这个元素。

pop方法还可以传递一个参数,用来指定待删除元素的位置:

L=['a','b','c']L.pop(-1) #返回cprint L #['a','b']

可以使用下面的方法删除元素:

L=['a','b','c']del L[2]print L #['a','b']

remove传递一个参数,去除list中第一次出现的元素:

L=['a','b','c','a']L.remove('a')print L #['b','c','a']

6.替换元素

对list中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素,list包含的元素个数保持不变:

L=['a','b','c']L[0]='d'print L #['d','b','c']

7.Python列表函数

Python中有内置函数可以对list进行操作。

(1)cmp(list1,list2):比较两个列表

比较规则如下:

如果比较的元素是同类型的,则比较其值,返回结果。
如果两个元素不是同一种类型,则检查它们是否是数字。
    如果是数字,执行必要的数字强制类型转换,然后比较。
    如果有一方的元素是数字,则另一方的元素"大"(数字是"最小的")
    否则,通过类型名字的字母顺序进行比较。
如果有一个列表首先到达末尾,则另一个长一点的列表"大"。
如果我们用尽了两个列表的元素而且所 有元素都是相等的,那么结果就是个平局,就是说返回一个 0。

例如:

list1, list2 = [123, 'xyz'], [456, 'abc']print cmp(list1, list2);print cmp(list2, list1);list3 = list2 + [786];print cmp(list2, list3)
结果:

-1

1

-1

(2)len(list):返回list中元素的个数

(3)max(list):返回list中值最大的元素

(4)min(list):返回list中值最小的元素

(5)list(seq):将元组tuple转换成list列表

8.list方法

  • list.append(obj):在列表末尾添加新的对象
  • list.count(obj):统计某个元素在列表中出现的次数
  • list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
  • list.index(obj):从列表中找出某个值第一个匹配项的索引位置
  • list.insert(index, obj):将对象插入列表
  • list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
  • list.remove(obj):移除列表中某个值的第一个匹配项
  • list.reverse():反向列表中元素
  • list.sort([func]):对原列表进行排序


1 0
原创粉丝点击