python学习(1)-循环-创新互联

循环中的else
salarySum = 0
salarys = []
for i in range(4):
    s = input("请输入工资,按Q结束")
    if s.upper() == 'Q':
        print("录入完成,退出")
        break
    if float(s)< 0:
        continue

    salarys.append(float(s))
    salarySum += float(s)
# python特有,执行完整个循环进入else,如果循环中途退出,贼不执行此else
else:
    print('您已经全部录入4名员工的薪资了')
print("录入薪资:", salarys)
print("平均薪资{0}".format(salarySum / 4))

python 中的for 和while 循环,在后面均可跟else,这是在java和c#中没有见过的,代码中的else 在整个循环执行完毕后执行,如果循环中途进入break,则不执行else中的内容

站在用户的角度思考问题,与客户深入沟通,找到庐阳网站设计与庐阳网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、网站制作、企业官网、英文网站、手机端网站、网站推广、空间域名、网页空间、企业邮箱。业务覆盖庐阳地区。循环优化

优化方法主要记住以下几个:

  • 1 尽量减少循环内部不必要
    2 嵌套循环中,尽量减少内层循环的计算,尽可能往外提
    3 局部变量查询较快,尽量使用局部变量

    其他:
    1 连接多个字符串,使用join()而不使用+
    2 列表进行元素插入和删除,尽量在列表尾部操作

# 方法一
start = time.time()
for i in range(1000):
    result = []
    for m in range(10000):
        result.append(i * 1000 + m * 100)
end = time.time()

print("耗时为{0}".format(end - start))

# 方法2

start2 = time.time()
for i in range(1000):
    result = []
    n = i * 1000
    for m in range(10000):
        result.append(n + m * 100)
end2 = time.time()

print("耗时为{0}".format(end2 - start2))

代码方法2中减少了内循环中执行i*100的次数,效率得到提升,方法一执行耗时为1s,方法二执行耗时为0.85s

zip()并行迭代

使用zip可以对多个数组同事进行遍历,遍历次数以数组长度最短的为准:

# 测试zip并行迭代
names = ("张三", "李四", "王五", "赵六")
ages = (18, 19, 20, 31)
jobs = ("老师", "销售", "程序员")

for name, age, job in zip(names, ages, jobs):
    print("{0}--{1}--{2}".format(name, age, job))

结果为:
张三–18–老师
李四–19–销售
王五–20–程序员

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


标题名称:python学习(1)-循环-创新互联
分享链接:http://scyanting.com/article/gpsph.html