字典
定义:字典是“键值对”的无序可变序列,字典中的每个元素都是一个“键值对”
如: a = {‘name’:‘Meili’,‘age’:18,‘job’:‘sleeper’}
a.get(‘name’)
键:‘name’, ‘age’, ‘job’
对应值:‘Meili’, 18, ‘sleeper’
键的数据类型为不可变数据:整数,浮点数,字符串,元组
可变对象数据类型: 列表,字典,集合不能做为键盘。
定义字典
a = dict(name='Meili',age=18,job='sleeper')
a = [('name','Meili'),('age',18)]
k = ['name','age','job']
v = ['gaoqi',18,'teacher']
a = dict(zip(k,v))
a = {'name':'Meili','age':18,'job':['A','B','C']}
a = dict.fromkeys(['name','age','job'])
字典元素的访问
a['name']
a['dadas']#报错
a.get('name')
a.get('dadas')#返回None
a.items()
a.keys()
a.values()
字典元素的添加、修改、删除
添加已有的键,覆盖前面内容
a['genda']='female'
b = dict(name='Meili', salary=14000)
a.update(b)
a.pop('name')
a.clear()
a.popitem()#依次弹出
序列解包
a,b,c = 10,20,30
(a,b,c) = (10, 20, 30)
[a, b, c] = [10, 20, 30]
s = dict(name ='Meili', age=18, job='teacher')
a,b,c = s#获得键内容
e,f,g = s.values()#获得值内容
o,p,q = s.items()
字典复杂表格
r1 = {'name':'张三‘,’salary': 20000,'city':'北京'}
r2 = {'name':'李四‘,’salary': 15000,'city':'长沙'}
r3 = {'name':'王五‘,’salary': 40000,'city':'成都'}
tb = [r1, r2, r3]
# 获得第一个人的薪水
print(tb[1].get('salary'))
# 打印表中所有的薪水
for i in range(len(tb)):
print(tb[i].get('salary'))
# 打印表中所有内容
for i in range(len(tb)):
print(tb[i].get('name'),tb[i].get('salary'),tb[i].get('city'))
集合
无序可变,元素不重复,底层是字典的键对象
集合的并集,交集和差集
选择结构
通过判断条件是否成立,来判断执行哪个分支
·单分支结构
·双分支结构
·多分支结构
#!usr/bin/env python
# -*- coding:utf-8 -*-
"""
@author: lyf
@file: Day006.py
@time: 2021/07/08
@desc:
"""
a = input('请输入一个大于10的数:')
type(a)
if int(a)>10:
print(a)
b = []
if not b: #b为false, not b变为true
print('空的列表是False')
c = True
if c:
print(c)
d = 0
if d:
print(d)
if 3<d<100:
print('3<d<100')
s = input('请输入一个数字:')
if int(s)<10:
print('s是一个小于10的数字')
else:
print('s是一个大于10的数字')
# 测试三元条件运算符
print('s是一个小于10的数字' if int(s)<10 else 's是大于10的数字')
#测试多分支选择结构
score = int(input('请输入学生的分数:'))
grade = ''
if score<60:
grade = '不及格'
elif score<80: # 60-80之间
grade = '及格'
elif score<90:
grade = '良好'
else:
grade = '优秀'
print('分数是{0},等级是{1}'.format(score,grade))
print('-----------------------')
if (60<=score<80):
grade = '及格'
if (score<60):
grade = '不及格'
if (80<=score<90):
grade = '良好'
if (90<=score<=100):
grade = '优秀'
print('分数是{0},等级是{1}'.format(score,grade))
选择结构的嵌套
#!usr/bin/env python
# -*- coding:utf-8 -*-
"""
@author: lyf
@file: mypy02.py
@time: 2021/07/08
@desc:输入分数在0-100之间, 60以下是E,60以上是D,70以上是C,80以上
是B,90以上是A
"""
score = int(input('请输入学生的分数:'))
if score>100 or score<0:
score = int(input('输入错误,请重新输入数字'))
else:
if score>=90:
grade = 'A'
if score>=80:
grade = 'B'
if score>=70:
grade = 'C'
if score>=60:
grade = 'D'
else:
grade = 'E'
print('分数为{0},成绩等级为{1}.'.format(score,grade))
##
score = int(input('请输入一个数字:'))
degree = 'ABCDE'
num = 0
if score>100 or score<0:
score = int(input('输入错误,请重新输入一个数字:'))
else:
num = score//10
if num<6:
num = 5
print('分数是{0},等级是{1}'.format(score,degree[9-num]))
循环结构
#!usr/bin/env python
# -*- coding:utf-8 -*-
"""
@author: lyf
@file: mypy03.py
@time: 2021/07/08
@desc:
"""
num1 = 0
while num1<=10:
print(num1)
num1 += 1
print('-----------------')
num2 = 0
sum_all = 0
while num2<=100:
sum_all = sum_all + num2
num2 += 1
print('1-100所有数的累加和:',sum_all)