栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Day05之python基础语法(九)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Day05之python基础语法(九)

七、列表推导式
  • 列表推导式(也叫列表生成式)
  • 生成有元素的列表(在某些场景下能代替append)
  • 性能比较:列表推导式 > append
1、语法1
  • [表达式 for 变量 in 容器]
  • 例: 将100以内5的倍数添加到列表中
list1 = []
for i in range(0, 101, 5):
    list1.append(i)
print(list1)

list2 = [i for i in range(0, 101, 5)]
print(list2)
  • 将某个元素在列表中重复N次(如果for循环中变量没有实际意义,可以使用下划线"_"代替)
list3 = [[1, 2, 3] for _ in range(10)]
print(list3)
2、语法2
  • [符合条件的表达式 for 变量 in 容器 if 条件]
list4 = [i for i in range(101) if i % 5 == 0]
print(list4)

list5 = [True if i % 5 == 0 else False for i in range(11)]
print(list5)
3、语法3
  • [表达式 for 变量1 in 容器1 for 变量2 in 容器2]
list6 = [f'{i}*{j}={i * j}' for i in range(1, 10) for j in range(1, i + 1)]		
print(list6)
  • 练习:使用列表推导式生成5个人的3科成绩。
import random

score = [[random.randint(0, 100) for _ in range(3)] for _ in range(5)]
print(score)
八、 列表推导式和append的性能比较
  • time():获取时间戳,从1970.1.1开始到time()方法被执行时的秒数。
import time
print(time.time())

print('append方法')
start = time.time()
list1 = []
for i in range(1, 100000001):    # 循环次数视电脑情况而定
    list1.append(i)
end = time.time()
print(f'花费时间{end - start}秒')

print('列表推导式')
start = time.time()
list2 = [i for i in range(1, 100000001)]
end = time.time()
print(f'花费时间{end - start}秒')
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1029226.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号