十六:列表、元组操作

来源:互联网 发布:淘宝详情页制作思路 编辑:程序博客网 时间:2024/06/10 03:26

列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作

定义列表

1
names = ['Alex',"Tenglan",'Eric']

通过下标访问列表中的元素,下标从0开始计数

1
2
3
4
5
6
7
8
>>> names[0]
'Alex'
>>> names[2]
'Eric'
>>> names[-1]
'Eric'
>>> names[-2#还可以倒着取
'Tenglan'

切片:取多个元素  

复制代码
>>> names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]>>> names[1:4]  #取下标1至下标4之间的数字,包括1,不包括4['Tenglan', 'Eric', 'Rain']>>> names[1:-1] #取下标1至-1的值,不包括-1['Tenglan', 'Eric', 'Rain', 'Tom']>>> names[0:3] ['Alex', 'Tenglan', 'Eric']>>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样['Alex', 'Tenglan', 'Eric']>>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写['Rain', 'Tom', 'Amy'] >>> names[3:-1] #这样-1就不会被包含了['Rain', 'Tom']>>> names[0::2] #后面的2是代表,每隔一个元素,就取一个['Alex', 'Eric', 'Tom'] >>> names[::2] #和上句效果一样['Alex', 'Eric', 'Tom']
复制代码

追加

>>> names['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy']>>> names.append("我是新来的")>>> names['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']

插入

复制代码
>>> names['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']>>> names.insert(2,"强行从Eric前面插入")>>> names['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']>>> names.insert(5,"从eric后面插入试试新姿势")>>> names['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']
复制代码

修改

>>> names['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']>>> names[2] = "该换人了">>> names['Alex', 'Tenglan', '该换人了', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

删除

复制代码
>>> del names[2] >>> names['Alex', 'Tenglan', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']>>> del names[4]>>> names['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']>>> >>> names.remove("Eric") #删除指定元素>>> names['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', '我是新来的']>>> names.pop() #删除列表最后一个值 '我是新来的'>>> names['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']
复制代码

扩展

复制代码
>>> names['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']>>> b = [1,2,3]>>> names.extend(b)>>> names['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]
复制代码

拷贝

复制代码
>>> names['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]>>> name_copy = names.copy()>>> name_copy['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]
复制代码

copy真的这么简单么?那我还讲个屁。。。

统计

>>> names['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]>>> names.count("Amy")2

排序&翻转

复制代码
>>> names['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]>>> names.sort() #排序Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: unorderable types: int() < str()   #3.0里不同数据类型不能放在一起排序了,擦>>> names[-3] = '1'>>> names[-2] = '2'>>> names[-1] = '3'>>> names['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']>>> names.sort()>>> names['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']>>> names.reverse() #反转>>> names['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']
复制代码

获取下标

>>> names['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']>>> names.index("Amy")2 #只返回找到的第一个下标

元组

元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表

语法

1
names = ("alex","jack","eric")

它只有2个方法,一个是count,一个是index,完毕。 

原创粉丝点击