Python:列表函数

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)

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值