python基础第四天

字典

字典创建

a={'name':'gaoqi','age':18,'job':'programmer'}
b=dict(name='gaoqi',age=18,job='programmer')
c=dict([('name','gaoqi'),('age',18)])
d={}#空列表
k=['name','age','job']
v=['gaoqi','18','programmer']
w=dict(zip(k,v))
a=dict.fromkeys['name','age','job']#创建空字典

字典实例

r1={'name':'高小一','age':18,'salary':30000,'city':'北京'}
r2={'name':'高小二','age':18,'salary':30000,'city':'上海'}
r3={'name':'高小五','age':18,'salary':30000,'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('salary'),tb[i].get('name'))

字典底层原理

一.存储
取键的散列值,例如哈希值,以八位列表存储举例,键的哈希值最后三位对应列表,若为空存储,若不为空,继续向左寻找三位哈希值,直到对应列表为空,否则扩容操作。
二.取值
取键的散列值,例如哈希值,以八位列表存储举例,键的哈希值最后三位对应列表取键值对值,计算键的哈希值如果对应则取值成功。不对应继续搜索。

集合

无序可变,不能重复

a={3,5,7}
a.add(9)
#set函数用法
a=['a','b']
b=set(a)
a.remove(7)
a.clear()

相关操作

a|b   a.union(b)#并集
a&b   a.intersction(b)#交集
a-b   a.difference(b)  #差集


条件表达式

b=[]
if not b:
    print('空的列表是false')

注意:条件表达式不能有赋值操作

双分支结构

s = input('请输入一个数字:')

# 三元条件运算符
print("s是小于10的数字" if int(s) < 10 else "s是大于或等于10的数字")

多分支选择结构

# 多分支结构小练习
score= int(input("请输入分数:"))
grade=""
if score<60:
    grade='不及格'
elif score<80:
    grade='及格'
elif score<90:
    grade='良好'
else:
    grade='优秀'
print("分数是{0},等级是{1}".format(score,grade))

选择结构嵌套

# 选择结构嵌套
score = int(input("请输入分数:"))
grade = ""
if score > 100 or score < 0:
    score = int(print('请重新输入:'))
else:

    if score < 60:
        grade = '不及格'
    elif score < 80:
        grade = '及格'
    elif score < 90:
        grade = '良好'
    else:
        grade = '优秀'
    print("分数是{0},等级是{1}".format(score, grade))
# 另一种写法
score=int(input('请输入您的分数:'))
grade='ABCDE'


if  score > 100 or score < 0:
    score = int(print('请重新输入:'))
else:
    num=score//10
    if num<6:
        num=5

    print("分数是{0},等级是{1}".format(score, grade[9-num]))

while循环

# 测试while循环
# 计算1-100数字累加和
num = 0
sum = 0
while num <= 100:
    sum = sum + num
    num += 1
print('1-100累计和为:', sum)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值