列表的基本操作
列表是可以改变的。
1.改变列表,元素复制
使用所有标记为某个特定的,位置明确的元素复制,如x[1]=2
>>> x=[1,2,3,4]
>>> x[2]=100
>>> x
[1, 2, 100, 4]
>>>
同时不能为一个位置不存在的元素进行复制,即赋值位置大于列表总长度
>>> x[100]=3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
>>>
2.删除元素
可以通过del语句实现
>>> del x[2]
>>> x
[1, 2, 4]
>>>
3.分片赋值
>>> name=list('perl')
>>> name
['p', 'e', 'r', 'l']
>>> name[2:]=list('ar')
>>> name
['p', 'e', 'a', 'r']
>>>
使用分片赋值时,可以使用与原序列不等长的序列将分片替换
>>> name[1:]=list('abcdefghijklmnopq')
>>> name
['p', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q']
>>>
分片赋值可以在不需要替换任何原有元素的情况下插入新的元素
>>> number=[1,5]
>>> number
[1, 5]
>>> number[1:1]=[2,3,4]
>>> number
[1, 2, 3, 4, 5]
>>>
同时也可以删除元素
>>> number[1:4]=[]
>>> number
[1, 5]
>>>
列表方法
1.append方法
在列表末尾增加新的对象
>>> number.append(6)
>>> number
[1, 5, 6]
>>>
2.count方法
统计某个元素在列表中出现的次数
>>> number.count(1)
1
>>>
3.extend方法
extend在列表尾部追加多个值,即用新列表扩展原有的列表,而append只能一次添加一个值。
>>> number.extend([7,8,9])
>>> number
[1, 5, 6, 7, 8, 9]
>>>
4.index方法
index方法用于从列表中找出某个值第一个匹配项的索引位置
>>> number.index(1)
0
>>>
5.insert方法
将对象插入到列表中,同时insert也可以用分片赋值来实现。
>>> number.insert(1,2)
>>> number
[1, 2, 5, 6, 7, 8, 9]
>>>
6.pop方法
默认移除列表中最后一个元素,并且返回该值
>>> number
[1, 2, 3, 4, 7, 8, 9]
>>> number.pop()
9
>>>
7.remove方法
用于移除列表中某个值的第一个匹配项
>>> number
[1, 1, 3, 4, 7, 8]
>>> number.remove(1)
>>> number
[1, 3, 4, 7, 8]
>>>
8.reverse方法
将列表中的元素反向存放
>>> number.reverse()
>>> number
[8, 7, 4, 3, 1]
>>>
9.sort方法
sort方法用于将原列表进行排序。
>>> number
[8, 7, 4, 3, 1]
>>> number.sort()
>>> number
[1, 3, 4, 7, 8]
>>>
元组:不可变序列
元组和列表一样,也是一种序列,只不过元组不能修改,创建元组用“逗号”分隔一些值就自动创建了元组。元组大部分时候是通过圆括号括起来的。
>>> 1,2,3
(1, 2, 3)
>>>
创建一个值的元组
如果元组中只有一个值,那么也得通过一个逗号隔开,否则就不是元组。
//不是元组
>>> 42
42
//元组
>>> 42,
(42,)
>>>
tuple函数
tuple函数功能跟list函数基本一样,以一个序列作为参数并把它转为元组。
>>> tuple([1,2,3])
(1, 2, 3)
>>> tuple('abcdefg')
('a', 'b', 'c', 'd', 'e', 'f', 'g')
>>> tuple((1,2,3,4))
(1, 2, 3, 4)
>>>
总结
- cmp(x,y) 比较两个值
- len(seq) 返回序列的长度
- list(seq) 把序列转换成列表
- max(args) 返回序列或者参数集合中的最大值
- min(args) 返回序列或者参数集合中的最小值
- reversed(seq) 对序列进行反向迭代
- sorted(seq) 返回已排序的包含seq所有元素的列表
- tuple(seq) 把序列转换成元组