假设我想将几个数字相加,例如: 1. 找出 1-100 之间的偶数。2. 找出 2-200 之间的奇数。3. 添加它们。
所以为此,我可以分别检查偶数和奇数,但要添加它们,它们必须存储在某个地方。现在我该怎么做?
即存储第一步的输出,存储第二步的输出,然后将它们相加。
假设我想将几个数字相加,例如: 1. 找出 1-100 之间的偶数。2. 找出 2-200 之间的奇数。3. 添加它们。
所以为此,我可以分别检查偶数和奇数,但要添加它们,它们必须存储在某个地方。现在我该怎么做?
即存储第一步的输出,存储第二步的输出,然后将它们相加。
求 1-100 之间的偶数:
>>> l = [i for i in range(1,101) if i % 2 == 0]
>>> print l
[2, 4, 6, ..., 100]
求 2-200 之间的奇数:
>>> l2 = [i for i in range(2,200) if i % 2 != 0]
>>> print l2
[3, 5, 7, ..., 199]
求总和:
>>> total = sum(l) + sum(l2)
>>> print total
12540
我所做的是 List Comprehensions,这是一个为您想要的任何因素创建值的循环。这是有关它的文档的链接:http: //docs.python.org/2/tutorial/datastructures.html#list-comprehensions
偶数列表:
a = [i for i in range(2,101,2)]
奇数列表:
b = [i for i in range(3,200,2)]
和:
c = sum(a) + sum(b)
这就是列表之类的容器的用途:
numbers = [] # Setup an empty list
for number in range(10): # Loop over your numbers
numbers.append(number) # Append the number to your list
print sum(numbers) # 45
第一步和第二步的结果可以存储在 2 个不同的列表中。
list1 = [2, 4, 6 .. ]
list2 = [1, 3, 5 .. ]
列表记录在 python 文档中,位于http://docs.python.org/2/tutorial/datastructures.html#more-on-lists
你真的不需要清单。
>>> sum(x for x in range(1,100) if x % 2)
2500
>>> sum(x for x in range(2,200) if not x % 2)
9900