列表推导式:能很快的生成一个列表,并且能够执行简单的运算
import random
# 生成一个简单的0到9的列表
list1 = [i for i in range(10)]
print('list1:', list1)
# 筛选出长度小于2的name中列表里的元素
name = [['aaa', 'bbb', 'ccc', 'a', 'b', 'c'], ['111', '222', '333', '1', '2', '3']]
list2 = [k for i in name for k in i if len(k) < 2]
print('list2:', list2)
# 将循环获得的结果添加到其他的数据中并全部以列表的形式输出
week = '今天是星期{}'
list3 = [week.format(i) for i in range(1, 8)]
print('list3:', list3)
# 重复前面的函数十遍并输出到列表
list4 = [random.randint(0, 10) for i in range(10)]
print('list4:', list4)
# 列表推导式基础应用,查一下数值所在列表的位置
# 输入要查的值
while True:
try:
# 将输入进的值转换为列表形式保存在i中
i = list(map(int, input('要查询的值(空格隔开):').split(',')))
break
except Exception as ret:
print('输入不对,要1,2,3这样的数字')
continue
print('要查找{}'.format(i))
# 任意列表
ls = [1, 3, 1, 1, 4, 6, 2, 9, 6, 5, 8, 7, 9, 0, 3, 0]
# 推导式也可以添加print,并将值和索引用enumerate分离
a = [print('找到{}在列表索引{}中'.format(a, j)) for a in i for j, k in enumerate(ls) if a == k]
运行结果: