编写一个小代码来生成偶数。
Source source = new Source() { Minimum = 0, Maximum = 100, Value = 50 };
private void Form1_Load(object sender, EventArgs e)
{
var p = toolStripProgressBar1.ProgressBar;
p.DataBindings.Add(nameof(p.Maximum), source, nameof(source.Maximum));
p.DataBindings.Add(nameof(p.Minimum), source, nameof(source.Minimum));
p.DataBindings.Add(nameof(p.Value), source, nameof(source.Value));
}
输出是 - [(),(),(),(),(),(),()]
上面的代码是否可以生成偶数,如果有,那么修复是什么?
如何在上面的行中使用代码块代替if语句,我的目标是生成素数。
[范围内的x的范围(2,15),范围内的y(1,int(x / 2))if(x%y)!= 0 ............. .....]
答案 0 :(得分:3)
在您的示例中,您正在添加'甚至'每次满足列表理解中的if语句时到列表。这就是为什么你得到一个空元组列表
[x for x in range(15) if x % 2 == 0]
将是正确的实践
答案 1 :(得分:3)
如果你需要生成器,它是在Python3的range
函数中构建的:
range(0, 15, 2)
是一个不可变序列,包含低于15
的所有偶数整数在Python 2中,range
返回一个真实的列表,因此它可能符合您的要求。在任何情况下,您都可以使用理解来定义真正的生成器:
( x for x in range(0, 15, 2) )
答案 2 :(得分:2)
p = [q for q in range(0, 15) if not q%2]
print(p)
说明:
如果q是偶数,则q%2变为0
。因此在not
if
答案 3 :(得分:1)
even = [ x for x in range(15) if x%2 == 0]
只是列表理解
答案 4 :(得分:0)
以下是生成偶数的方法
filter(lambda x : x % 2, range(0, 15))