python 列表推导 求100内的素数

原创 2015年07月09日 14:01:49

列表推导式(list comprehension)是利用其他列表创建新列表(类似于数学术语中的集合推导式)的一种方法。它的工作方式类似于for循环,也很简单:

In [39]: [x*x for x in range(10)]
Out[39]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
比如一个字典如下:a={1:2,2:3,3:4},要求链接字典的键值,并且以“,”隔开,结果:“2,3,4”
代码如下:print ",".join([str(x) for x in a.keys()])

如果只想打印出那些能被3整除的平方数,只需要通过添加一个if部分在推导式中就可以完成:

In [41]: [x*x for x in xrange(10) if x % 3 == 0]
Out[41]: [0, 9, 36, 81]

  也可以增加更多的for语句的部分:

In [42]: [(x,y) for x in range(3) for y in range(3)]
Out[42]: [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

In [43]: [[x,y] for x in range(2) for y in range(2)]
Out[43]: [[0, 0], [0, 1], [1, 0], [1, 1]]


100以内的素数:

print ' '.join([str(s) for s in [x for x in range(2,101) if not [y for y in range(2,x) if x % y == 0]]])

Python核心编程学习笔记(十三)——第九章习题

9-1
  • xc_tsao
  • xc_tsao
  • 2014年05月16日 13:07
  • 687

判断一个用户输入的日期是不是闰年. Python 代码

'''获取键盘中输入的日期,提取年份,然后判断这个年份是不是闰年''' import datetime,time,types global format_date format_date="%Y...

[Python]计算100以内的素数--一行代码filter方式

没有考虑效率问题,只是为了简洁,呵呵 #问题2 使用filter讲100以内的质数挑选出来 #filter(function or None, sequence) -> list, tuple, o...

python之列表推导式

转自:http://blog.chinaunix.net/uid-28631822-id-3488324.html Python语言以简易明了著称,但初次学习Python,却被很多语法搞的昏头涨...

『Python』序列学习总结之五 ——列表推导式的一些应用

最近在工作中为了减少代码的行数而开始使用列表推导式, 结果非常好, 七八行的代码只需要用一行代码就能够写完, 虽然逻辑对于不怎么使用列表推导式的人来说会比较困难, 但是习惯之后也相当容易。 因此强烈推...
  • Sbtgmz
  • Sbtgmz
  • 2016年04月29日 17:54
  • 1279

Python 3.2中 推导列表的简单小例子

最近在学习Python, 虽然说语法不是很复杂,可是还是有很多微妙之处,下面是对"推导列表的简单例子" 所谓的"推导列表"就是更具表达式来生成有规则的列表. #简单的推导列表 def si...

python中的列表推导浅析

python中的列表推导浅析 作者: 字体:[增加 减小] 类型:转载 时间:2014-04-26 我要评论 这篇文章主要介绍了python...

Python 列表推导式 一些小的古怪写法 if else for in join

c = a if a>b else b //如果a>b返回a,否则返回b>>> a = 1 >>> b = 2 >>> c = a if a>b else b >>> c 2c = [b,a][...

python 列表推导式

例子1:### 列表推导式#coding=gbk import numpy as np import matplotlib.pyplot as plt import scipy.io as sio #...

11-09-15 python 列表推导List Comprehension&

python 高级编程 这里面说的也太简略了吧,只有个例子,别的啥都没, 这种方式是从正常的for循环改写过来的,但是效率要高一些, [i for i in range(10) if i%2==0...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python 列表推导 求100内的素数
举报原因:
原因补充:

(最多只允许输入30个字)