1 numbers = range(10) 2 size = len(numbers) 3 evens = [] 4 i = 0 5 while i < size: 6 if i % 2 == 0: 7 evens.append(i) 8 i += 1 9 print(evens)
这种方式对于c语言或许可行,但是对于Python来说会使程序执行变慢,因为:
1:它使解释程序在每一次循环中都要确定序系中的哪一个部分被修改。
2:它使得必须通过一个计数器跟踪必须处理的元素。
1 evens = [i for i in range(10) if i % 2 == 0] 2 print(evens)
这种方式高效,简短,涉及的元素也更少,在更大的程序中,意味着引入的缺陷也更少,代码更容易阅读和理解。
原文:https://www.cnblogs.com/sun-10387834/p/10486774.html