列表list(打了激素的数组) tuple元组:不可变数据类型
数组:只能存储同一种数据类型的数据
列表:li (可变数据类型,可修改元素)
改:利用索引 li[0] = XX , 最后一个元素 li[-1] = XX
li[-1][2] = XX (嵌套:最后一个元素为列表,更改列表中元素)
逆序显示:li[::-1]
li*2:重复
13 in li:判断13是否在列表中 (成员操作符)
增:.append("") 追加一个对象在列表的最后
.insert(2,"") 插入对象在索引的前面
.extend("[1,2,3,4]") 增加多个元素到列表最后
(iterable:可叠带的,目前可叠带对象:字符串,列表,元组)
查:.count("列表元素") --该元素在列表中出现的次数
.index("列表元素") --找到某个元素在列表中的索引值
删:.remove("列表元素") --从前往后删除第一个出现的
.pop(0) --删除索引对应的元素,默认为最后一个
del 列表[] --删除列表第几个索引
del 列表名 --删除列表
del 列表[1:] --删除列表除了第一个元素外所有元素
逆序:.reverse()
排序:.sort() --按阿斯科码排序(查看阿斯科码 ord(""))
列表构建栈和队列数据结构:
#####栈
先进后出(LIFO - first in last out)
栈操作:
入栈
出栈
栈长度
查看栈
退出
#####队列
先进先出(FIFO - first in first out)
队列操作:
入队
出队
查队列内容
退出
******字典******
d = {"KEY":"value1","key2":"value2","ftp":[20,21]} --创建字典 ----赋值创建字典
d1 = dict(user1="123",user2="456",user3="789")
----工厂函数创建字典
通过字典的fromkeys方法创建字典,所有元素有一个默认值:
print{}.fromkeys(["user1","user2","user3"],"123") --若没有默认值,默认为none
###卡号6位组成,前三位610,后面依次为001,002……100###
#####列表内置方法
-cmp
#####分析字典的特性(与元组列表比较)
1.无序数据类型(与加入顺序不同) --无索引无切片
2.不支持重复和连接
3.成员操作符:判断字典的key值是否在字典中存在;in,not in
增:sevices = {"ftp":[20,21]}
1.sevices['http'] = [80,8080] --通过字典名与key添加
2.sevices1 = {"http":[80,8080]}
sevices.update(sevices1)
3.sevices.update(http=[80,8080],ssh=22) --key存在则覆盖
4.sevices.setdefault("ssh",21) --key存在不覆盖
删:d.pop('key')
d.popitem() --随意删除
d.clear() --清空
del d['key']
改:update --覆盖式修改
查:d.keys() , d.values()
d.viewkeys() , d.viewvalues()
d.items() --列表形式,嵌套元组,键值对
***** for i,h in d.items()
print i,h ****** --循环遍历字典,默认遍历KEY值
d.has_key('') --查看key是否存在
数组:只能存储同一种数据类型的数据
列表:li (可变数据类型,可修改元素)
改:利用索引 li[0] = XX , 最后一个元素 li[-1] = XX
li[-1][2] = XX (嵌套:最后一个元素为列表,更改列表中元素)
逆序显示:li[::-1]
li*2:重复
13 in li:判断13是否在列表中 (成员操作符)
增:.append("") 追加一个对象在列表的最后
.insert(2,"") 插入对象在索引的前面
.extend("[1,2,3,4]") 增加多个元素到列表最后
(iterable:可叠带的,目前可叠带对象:字符串,列表,元组)
查:.count("列表元素") --该元素在列表中出现的次数
.index("列表元素") --找到某个元素在列表中的索引值
删:.remove("列表元素") --从前往后删除第一个出现的
.pop(0) --删除索引对应的元素,默认为最后一个
del 列表[] --删除列表第几个索引
del 列表名 --删除列表
del 列表[1:] --删除列表除了第一个元素外所有元素
逆序:.reverse()
排序:.sort() --按阿斯科码排序(查看阿斯科码 ord(""))
列表构建栈和队列数据结构:
#####栈
先进后出(LIFO - first in last out)
栈操作:
入栈
出栈
栈长度
查看栈
退出
#####队列
先进先出(FIFO - first in first out)
队列操作:
入队
出队
查队列内容
退出
******字典******
d = {"KEY":"value1","key2":"value2","ftp":[20,21]} --创建字典 ----赋值创建字典
d1 = dict(user1="123",user2="456",user3="789")
----工厂函数创建字典
通过字典的fromkeys方法创建字典,所有元素有一个默认值:
print{}.fromkeys(["user1","user2","user3"],"123") --若没有默认值,默认为none
###卡号6位组成,前三位610,后面依次为001,002……100###
#####列表内置方法
-cmp
#####分析字典的特性(与元组列表比较)
1.无序数据类型(与加入顺序不同) --无索引无切片
2.不支持重复和连接
3.成员操作符:判断字典的key值是否在字典中存在;in,not in
增:sevices = {"ftp":[20,21]}
1.sevices['http'] = [80,8080] --通过字典名与key添加
2.sevices1 = {"http":[80,8080]}
sevices.update(sevices1)
3.sevices.update(http=[80,8080],ssh=22) --key存在则覆盖
4.sevices.setdefault("ssh",21) --key存在不覆盖
删:d.pop('key')
d.popitem() --随意删除
d.clear() --清空
del d['key']
改:update --覆盖式修改
查:d.keys() , d.values()
d.viewkeys() , d.viewvalues()
d.items() --列表形式,嵌套元组,键值对
***** for i,h in d.items()
print i,h ****** --循环遍历字典,默认遍历KEY值
d.has_key('') --查看key是否存在
d.get('') --查看指定key对应的value
练习题:
(1)用户登陆管理系统:
1. 注册新用户
username
password
gender
email
age
2. 用户登陆
username
password
3. 注销用户
username
password
4. 显示用户信息
5. 退出系统
1. 用户名和密码分别保存在列表中;
2. 用户登录时,判断该用户是否注册;
3. 如果登录成功,显示登录成功(exit(), break).