码迷,mamicode.com
首页 > 编程语言 > 详细

Python:列表函数

时间:2015-01-03 14:46:03      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:

list函数:

    将字符串转化成列表,例:

>>> name = list(‘hello‘)
>>> name
[‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘]

列表基本函数:

1、改变列表:元素赋值

            使用索引标记

>>>x = [1, 1, 1]
>>>x[1] = 2
>>>x
[1, 2, 1]

2、删除元素 del语句实现

>>>names = [‘one‘, ‘two‘, ‘three‘]
>>>del names[1]
>>>names
[‘one‘, ‘three‘]

3、分片赋值(第一个参数是开始分片的起始位置,第二个参数是结束分片的下一个位置)

    修改序列

>>>name = list(‘Perl‘)
>>>name[1:] = list(‘ython‘)
>>>name
[‘P‘, ‘y‘, ‘t‘, ‘h‘, ‘o‘, ‘n‘]

    插入序列

>>>num = [1, 5]
>>>num[1:1] = [2, 3, 4]
>>>num
[1, 2, 3, 4, 5]

    删除序列

>>>num = [1, 5]
>>>num[1:1] = [2, 3, 4]
>>>num
[1, 2, 3, 4, 5]

4、append函数(改变原列表)(可以实现入栈操作)

    在列表末尾添加新的对象

>>>num = [1, 5]
>>>num[1:1] = [2, 3, 4]
>>>num
[1, 2, 3, 4, 5]

5、count函数 统计某个元素在列表中出现的次数 

>>>[‘to‘, ‘be‘, ‘or‘, ‘not‘, ‘to‘, ‘be‘ ].count(‘to‘)
2

>>>x = [[1, 2], 1, 1, [2, 1, [1, 2]]]
>>>x.count(1)
2
>>>x.cout([1, 2])
1

6、extend函数(修改原序列,连接操作产生新序列)

    在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

>>>a = [1, 2, 3]
>>>b = [4, 5, 6]
>>>a.extend(b)
>>>a
[1, 2, 3, 4, 5, 6]

    用分片操作来实现上述步骤

>>>a = [1, 2, 3]
>>>b = [4, 5, 6]
>>>a[len(a):] = b
>>>a
[1, 2, 3, 4, 5, 6]

7、index函数 从列表中找出某个值第一个匹配项的索引位置

>>>num = [‘one‘, ‘two‘, ‘three‘, ‘four‘, ‘five‘]
>>>num.index[‘three‘]
2

>>>num[2]
‘three‘

8、insert函数 将对象插入列表

>>> numbers = [1, 2, 3, 5, 6, 7]
>>> numbers.insert(3, ‘four‘)
>>> numbers
[1, 2, 3, ‘four‘, 5, 6, 7]

9、pop函数(可以实现出栈操作) 

    移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

>>> x = [1, 2, 3]
>>> x.pop()
3
>>> x
[1, 2]

>>> x.pop(0)
1
>>> x
[2]

10、remove函数(和pop区别,修改原序列,但不返回)

    移除列表中某个值的第一个匹配项 

>>> x = [‘to‘, ‘be‘, ‘or‘, ‘not‘, ‘to‘, ‘be‘]
>>> x.remove(‘be‘)
>>> x
[‘to‘, ‘or‘, ‘not‘, ‘to‘, ‘be‘]

11、reverse函数 反向列表中元素 

>>> x = [1, 2, 3]
>>> x.reverse()
>>> x
[3, 2, 1]

12、sort函数(改变原列表,但是不返回)

    对原列表进行排序

>>> x = [4, 6, 2, 3, 5, 1]
>>> x.sort()
>>> x
[1, 2, 3, 4, 5, 6]

    若不需要修改原序列(注意:如果这里采用x = y的话,那么x和y都指向同一个列表,即使操作时只对y排序,实际上x也会被排序)

    方法一:创建副本y,并对y进行排序 

>>> x = [4, 6, 2, 3, 5, 1]
>>> y = x[:]
>>> y.sort()
>>> x
[4, 6, 2, 3, 5, 1]
>>> y
[1, 2, 3, 4, 5, 6]

    方法二:使用sorted函数(返回一个已排序的副本,不改变原序列)

>>> x = [4, 6, 2, 3, 5, 1]
>>> y = sorted(x)
>>> y
[1, 2, 3, 4, 5, 6]
>>> x
[4, 6, 2, 3, 5, 1]

    关键字排序:key

    长度(len)排序:

>>> x = [‘bb‘, ‘eeeee‘, ‘a‘, ‘dddd‘, ‘ccc‘]
>>> x.sort(key = len)
>>> x
[‘a‘, ‘bb‘, ‘ccc‘, ‘dddd‘, ‘eeeee‘]

    关键字排序:reverse(简单布尔排序,True从大到小, False从小到大) 

>>> x = [4, 6, 2, 3, 5, 1]
>>> x.sort(reverse = True)
>>> x
[6, 5, 4, 3, 2, 1]
>>> y = [4, 6, 2, 3, 5, 1]
>>> y.sort(reverse = False)
>>> y
[1, 2, 3, 4, 5, 6]

13、cmp(x, y)函数(可以自定义compare(x, y)函数,用来比较两个元素)

    比较两个函数的大小 

>>> cmp(43, 62)
-1
>>> cmp(64, 23)
1
>>> cmp(23, 23)
0

    结合sort函数,可以自定义排序,sort(cmp)

Python:列表函数

标签:

原文地址:http://my.oschina.net/rsty/blog/363218

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!