博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python:列表生成式,集合生成式
阅读量:2345 次
发布时间:2019-05-10

本文共 945 字,大约阅读时间需要 3 分钟。

列表生成式

列表生成式也叫列表解析,格式如下:#[expression for i in 序列 if...]

例子:

s = '51 5000 10000'li = []for item in s.split():     li.append(int(item))print(li)k,a,b = liprint(k,a,b)

在这里插入图片描述

上面这个代码我们可以用列表表达式将其重新表达出来:

s = '51 5000 10000'li = [int(item) for item in s.split()]       #列表表达式print(li)k,a,b = liprint(k,a,b)

在这里插入图片描述

案例一:

输出[1**1的结果, 2**2的结果 … 9**9的结果]

第一种普通方法:

li = []for i in range(1,10):     li.append(i ** i)print(li)

在这里插入图片描述

第二种列表表达式:

print([i ** i for i in range(1,10)  ])

在这里插入图片描述

也可以只求10以内偶数的:

print([i ** i for i in range(1,10) if i % 2 == 0 ])

在这里插入图片描述

案例二:

找出1——10之间所有偶数,并且返回一个列表(包含以这个偶数为半径的圆的面积)

import mathprint(math.pi)     #圆周率print([math.pi * r * r for r in range(2,11,2)])

在这里插入图片描述

案例三:

找出1~n之间所有的质数

num = int(input("请输入一个数字:"))def isPrime(num):    for i in range(2,num):        if num % i == 0:            return False    else:        return Trueprint([i for i in range(2,num) if isPrime(i)])

在这里插入图片描述

集合生成式

print({i ** 2 for i in {1,2,3,3}})print({i ** 2 for i in {1,2,3,9,12,9} if i % 3 == 0 })

在这里插入图片描述

转载地址:http://vajvb.baihongyu.com/

你可能感兴趣的文章
idea导出配置
查看>>
JVM学习资料收集
查看>>
Codility经典算法题之九:MissingInteger
查看>>
静态导入
查看>>
java 获取路径
查看>>
spring boot 打印sql
查看>>
我的死锁经历
查看>>
spring boot日志配置
查看>>
list排序
查看>>
搭建zookeeper集群
查看>>
1005. 数独
查看>>
1006. 求和游戏
查看>>
IDEA eclipse 控制台日志输出到文件
查看>>
1022. Fib数列
查看>>
一些开源项目
查看>>
将博客搬至CSDN
查看>>
MySQL 中事务的实现
查看>>
CheckStyle
查看>>
IDE配置jvm参数
查看>>
内存溢出
查看>>