Python中有 容器,例如 列表、字典、元组,容器的作用是用来存放专其他类型的对象的。
列表
- 可以包含不同种类、任意类型的对象,甚至可以嵌套列表
- 列表里装的元素都是有顺序的
- 列表的大小和内容可以随意改变,在插入、删除、修改列表元素时,不需要建立一份新的列表拷贝,而是在原来的内存地址上直接修改列表对象。
L = [1,2,3,4]
L.append(5)
print(L)
[1, 2, 3, 4, 5]
L = [1,2,3,4]
L.insert(1,10)
print(L)
[1, 10, 2, 3, 4]
L = [1,2,3,4]
L.extend([11,22,33])
print(L)
[1, 2, 3, 4, 11, 22, 33]
输出:
L = [1,2,3,4,5,6,7,8]
print(L[1:3])
打印:[2, 3]
L = [1,2,3,4,5,6,7,8]
print(L[1:])
[2, 3, 4, 5, 6, 7, 8]
L = [1,2,3,4,5,6,7,8]
print(L[:4])
[1, 2, 3, 4]
跳着截取两个
L = [1,2,3,4,5,6,7,8]
print(L[0::2])
[1, 3, 5, 7]
对截取的列表进行更改,不会影响原来的列表
L = [1,2,3,4,5,6,7,8]
b = L[3:-1]
print('before change:b={}'.format(b))
b[0]=111
print('after change:b={}'.format(b))
print('after change:L={}'.format(L))
before change:b=[4, 5, 6, 7]
after change:b=[111, 5, 6, 7]
after change:L=[1, 2, 3, 4, 5, 6, 7, 8
注:这三个用法有些不同,append方法只能在尾部加入;insert方法可在任意位置加入,比如上面例子,我们在列表的索引位置为1的地方加入元素10,如果指定的索引值大于序列的总长度,则自动加到末尾;extend方法则可以在尾部一次性加入多个元素
错误的插入方法:
L = [1,2,3,4,5]
L = L.insert(6,2)
print(L[2])
删除操作
L1 = ['aa','bb','cc']
L1.remove('aa')
print(L1)
['bb', 'cc']
还有一个内置方法del,它额外的功能是可以删除列表中的一个分片 del L1[1:3]
pop方法,它在末端删除一个元素,并可以将删除的元素作为返回值返回给调用者
L1 = [1,2,3]
print(L1.pop())#末端删除一个元素,弹出删除的值
print(L1)
3
[1, 2]
排序
L = [1,5,3,8,3,2,10]
L.sort()
print(L)
L.reverse()
print(L)
[1, 2, 3, 3, 5, 8, 10]
[10, 8, 5, 3, 3, 2, 1]
刚刚学习python 参考:https://zhuanlan.zhihu.com/p/29452562