列表的简单操作

1、增加或移除元素

1.1 append 和 remove
x.append(9) 

方法可以将9添加到列表x的尾部。

x.remove(9)

方法可以x中第一个9去掉。

1.2 insert 和 pop
x.insert(2, 't')

在列表x的第三个位置上添加t

x.pop(3)

将列表x的第四个位置元素删除并返回。

1.3 extend
x.extend([1, 2, 3, 4, 't'])

在已知x是一个列表时,可以用extend()来大量增加元素到x中。注意extend中只有一个变量,且是列表,如代码所示。

2 、索引

2.1 sort函数
x.sort(key=) #将列表x按key=?来排序
2.2 bisect.bisect 和 bisect.insort

bisect.bisect会找到元素应该被插入的位置,并保持列表的排序;bisect.insort将元素插入到该位置。

import bisect
seq = [7, 2, 3, 6, 3, 5, 6, 0, 1, 0]
a = bisect.bisect(seq, 5)
print(a)
bisect.insort(seq, 8)
print(seq)
10
[7, 2, 3, 6, 3, 5, 6, 0, 1, 0, 8]

当列表元素没有排序时,bisect.bisectbisect.insort会将函数第二个位置的值(上述为5和8)简单放在列表最后。

seq1 = [1, 2, 2, 3, 4, 5, 5, 5, 6, 9]
a = bisect.bisect(seq1, 2)
print(a)
b = bisect.bisect(seq1, 7)
print(b)
bisect.insort(seq1, 8)
print(seq1)
3
9
[1, 2, 2, 3, 4, 5, 5, 5, 6, 8, 9]

当列表排序好时,bisect.bisectbisect.insort会按大小顺序将函数第二个位置的值(上述为2、7和8)放入列表中进行操作。

2.3 列表切片
x = [1, 2, 3, 4, 5, 6, 7, 8]
print(x[-5:-2]) 
4, 5, 6

[-5:-2] 从列表的最后开始切片。当从最后开始切片的时候,最后一个位置应该是-1(而不是0)。

在这里插入图片描述

3、enumerate 和 zip

enumerate(list):输入一个列表,返回一个由元组组成的列表,列表中每个元素都是一个元组,元组由输入的list 中的元素和其索引值组成,即 (i, value) 。eg:

some_list = ['foo', 'bar', 'baz']
print(list(enumerate(some_list)))
#结果:
[(0, 'foo'), (1, 'bar'), (2, 'baz')]

zip(x, y): 将列表、元组或其他序列的元素配对,新建一个元组构成的列表。zip可以处理任意长度的序列,它生成的列表长度由最短的序列决定。

x = ['A', 'B', 'C']
y = ['a', 'b', 'c']
x_y = zip(x, y)
print(list(x_y))
#结果:
[('A', 'a'), ('B', 'b'), ('C', 'c')]

zip“解压” zip(*list) 可以将已经配对好的序列拆分,

names = [('A', 'a'), ('B', 'b'), ('C', 'c')]
upper_names, lower_names = zip(*names)
print(lower_names)
#结果:
('a', 'b', 'c')

4、reversed

reversed(list) 可以将list中的元素倒序排列

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值