Python中列表推导式的使用

列表推导式:能很快的生成一个列表,并且能够执行简单的运算

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]

运行结果: 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值