*****************列表的定义*****************
list:打了激素的数组,数组只能存储同一种数据类型的结构;
*)• 定义一个空列表
In [30]: list = []
In [31]: type(list)
Out[31]: list
• 定义一个包含元素的列表,元素可以是任意类
型,包括数值类型,列表,字符串等均可。
与元组的对比,元组是不可变数据类型,不能修改元素;
*)分析列表特性
•列表的索引
In [47]: list = ['huan',21,'happy',(1,),[1,2]]
In [48]: list[0] 正向索引 list[0]读取的是列表的第1个元素;
Out[48]: 'huan'
In [49]: list[-1] 反向索引 list[-1]读取的是列表的倒数第1个元素;
Out[49]: [1, 2]
In [50]: list[::-1] 列表逆置
Out[50]: [[1, 2], (1,), 'happy', 21, 'huan']
拿出列表的最后一个元素,最后一个元素是列表,再拿出列表的第一个元素
In [54]: list = ['huan',21,'happy',(1,),[1,2]]
In [55]: list[-1][0]
Out[55]: 1
•列表的切片
In [60]: list
Out[60]: ['huan', 21, 'happy', (1,), [1, 2]]
In [61]: list[1:] 去掉列表的第一个元素
Out[61]: [21, 'happy', (1,), [1, 2]]
In [62]: list[:1] 显示列表的第一个元素
Out[62]: ['huan']
In [64]: list[::-1] 逆序显示
In [51]: list
Out[51]: ['huan', 21, 'happy', (1,), [1, 2]]
In [52]: list[0:3:2] • 0代表从哪个索引开始切片;
Out[52]: ['huan', 'happy'] • 3代表切片到哪个位置,并且不包含第三个索
• 2代表切片的步长;
In [53]: list[0:3:1]
Out[53]: ['huan', 21, 'happy']
•列表的重复和连接
In [67]: list1 = [1,2,3]
In [68]: list2 = ['a','b','c']
In [69]: list1 + list2 列表的连接
Out[69]: [1, 2, 3, 'a', 'b', 'c']
In [70]: list1*2 列表的重复
Out[70]: [1, 2, 3, 1, 2, 3]
•成员操作符
*)列表的增删改查
*******增
In [84]: list.append('everyone') 在列表中加入元素,所加元素在列表最后
In [95]: list.insert(0,'fentiao') 在指定位置加入元素
In [97]: list.extend('lala') 增加多个元素在列表最后
*) *
iterable代表可迭代的; *
目前学习的可迭代对象有:str list tuple *
********改
通过列表的索引,对列表的某个索引值重新附值
In [120]: list[0] = 'dabai' 将列表的第一个元素改变
********查
统计某个元素在列表中出现的次数;
In [124]: list = ['ha','ha','hei','you']
In [125]: list.count('ha')
Out[125]: 2
找到某个值字在列表中的索引值;
In [126]: list.index('you')
Out[126]: 3
******删
In [127]: list
Out[127]: ['ha', 'ha', 'hei', 'you']
In [128]: list.remove('ha') 删除列表中遇到的第一个value值;
In [129]: list
Out[129]: ['ha', 'hei', 'you']
In [130]: del list[1] 删除列表中第i个索引值;
In [131]: list
Out[131]: ['ha', 'you']
In [132]: del list 删除列表对象
In [133]: list
Out[133]: list
*)其他的排序及逆转
In [137]: list = [1,2,3,4,5]
In [138]: list.reverse() 将列表的元素逆转
In [139]: list
Out[139]: [5, 4, 3, 2, 1]
排序,如果都是数字,按照数字大小排序;
有字母的话,按照ASCII码来排序;
查看对应的ASCII码值
删除指定索引对应的值,默认是最后一个元素;
删除列表的指定元素,指定索引值;
练习:
1.用户和密码分别保存到列表中;
2.用户登录时,判断该用户是否注册;
3.用户登录时,为防止黑客暴力破解,仅有三次机会;
4.如果登录成功,显示登录成功
********列表构建栈和队列数据结构
***栈
栈是先进后出(LIFO)
(可以想象为往箱子里放东西)
*********************栈操作*******************
1).入栈
2).出栈
3).栈长度
4).查看栈
5).退出
请输入你的选择:"""
****队列
queue : 先进先出(FIFO)
本文转自 huanzi2017 51CTO博客,原文链接:http://blog.51cto.com/13362895/2058476