字典定义
字典是键值对无序可变序列
a = {'name':'zhoufang','age':18}
键不可重复,任意不可改变的数据:比如整数,浮点数,元组,字符串;值可以任意数据可重复数据,比如:列表,字典,集合
创建字典:
通过{}或者dict()
通过zip()创建,例如:k=[],v =[],a=dict(zip(k,.v))
通过fromkeys创建值为空的字典,例如:a = dict.fromkeys(['name','job','age'])
字典元素访问
1.通过键获得值,不存在抛出异常dict[key]
2.通过dict.get(key)方法获得值,键不存在返回None
3.列出所有键值对:dict.items()
4.列出所有键:dict.keys()
5.列出所有值:dict.values()
6.len(dict)列出键值对的个数
7.in检测keys是否在字典中
字典元素添加,修改,删除
1.给字典新增键值对,如果键已经存在,则覆盖旧的键值对;如果键不存在
,则新增键值对
2.使用update()将新字典中所有的键值对全部添加到旧字典上,如果key重复则覆盖
例如:旧字典.update(新字典)
3.字典中元素删除del(),dict.clear()清除所有键值对,dcit.pop(key)删除键值对并返回value
4.popitem():随机删除和返回该键值对,删除并返回最后一个键值对
序列解包
序列解包可用于,列表,元组,字典,可以方便我们给对多个变量赋值
表格数据使用字典和列表存储,并实现访问
a1 = {'name':'高小一','age':18,'salary':30000,'city':'北京'}
a2 = {'name':'高小二','age':19,'salary':40000,'city':'上海'}
a3 = {'name':'高小三','age':20,'salary':50000,'city':'深圳'}
tb = [a1,a2,a3]
#打印每个人的工资
for i in range(len(tb)):
print(tb[i].get('salary'))
#打印所有数据
for j in range(len(tb)):
print(tb[j].values())
集合
集合是无序可变,元素不可重复,因为集合的底层是字典实现的,所以元素都是唯一不可重复
使用{}创建集合
add增加元素,例如:a.add('a')
set()将列表和元组转变为集合
remove删除元素
clear清空集合
交集 a|b 并集 a&b 差集 a-b
选择结构
单分支 if ....print
双分支 if ....else
多分支多个条件表达式:多分支结构,几个分支之间是有逻辑关系的,不能颠倒顺序
三元条件运算符
条件为真的值 if 条件表达式 条件为假的值
选择结构嵌套
score = int(input('请输入一个分数:')) degree = 'ABCDE' num = 0 if score > 100 or score < 0: print('请输入0-100的分数') else: num = score // 10 if num < 6: num = 5 print('分数是{0}:{1}'.format(score, degree[9 - num]))
循环结构
while循环格式
while 表达式:
循环体语句
num = 0 while num <= 10: print(num) num += 1 # 计算1-00数字的累加 s = 0 for i in range(101): s = s + i print(s)