如何在字典理解中增加变量的值
How can I increment the value of a variable within dictionary comprehension
start = 0
limit = 100
count = 10
total_count = 1000
pages = {}
for i in range(1, count+1):
pages[i] = start
start += limit
print pages
{1: 0, 2: 100, 3: 200, 4: 300, 5: 400, 6: 500, 7: 600, 8: 700, 9: 800, 10: 900}
如何使用字典推导式获得相同的结果?我似乎无法在每次迭代后使用字典理解来增加变量 'start' 的值。
是否可以达到相同的结果理解?
start = 0
limit = 100
count = 10
pages2 = {(i + 1): start + i * limit for i in range(count)}
print pages2
运用数学:
pages = {(i+1): 100 * i for i in range(count)}
由于 start
从零开始并不断添加 100
,我们可以使用乘法来找到它在每个点的位置。如果 start
和 limit
并不总是这里的样子,您仍然可以这样做:
pages = {(i+1): start + (limit * i) for i in range(count)}
我 运行 在寻找一个解决方案来增加一个变量时,我 运行 进入了这个问题,我想成为字典中每个键的一部分。
这里的解决方案对我的情况没有帮助,所以我为此使用了 Python 的 enumerate() 方法。对于此处发布的问题,我的解决方案如下所示:
start = 0
limit = 100
count = 10
pages2 = {(j + 1): start + i * limit for i, j in enumerate(range(count))}
print(pages2)
start = 0
limit = 100
count = 10
total_count = 1000
pages = {}
for i in range(1, count+1):
pages[i] = start
start += limit
print pages
{1: 0, 2: 100, 3: 200, 4: 300, 5: 400, 6: 500, 7: 600, 8: 700, 9: 800, 10: 900}
如何使用字典推导式获得相同的结果?我似乎无法在每次迭代后使用字典理解来增加变量 'start' 的值。
是否可以达到相同的结果理解?
start = 0
limit = 100
count = 10
pages2 = {(i + 1): start + i * limit for i in range(count)}
print pages2
运用数学:
pages = {(i+1): 100 * i for i in range(count)}
由于 start
从零开始并不断添加 100
,我们可以使用乘法来找到它在每个点的位置。如果 start
和 limit
并不总是这里的样子,您仍然可以这样做:
pages = {(i+1): start + (limit * i) for i in range(count)}
我 运行 在寻找一个解决方案来增加一个变量时,我 运行 进入了这个问题,我想成为字典中每个键的一部分。 这里的解决方案对我的情况没有帮助,所以我为此使用了 Python 的 enumerate() 方法。对于此处发布的问题,我的解决方案如下所示:
start = 0
limit = 100
count = 10
pages2 = {(j + 1): start + i * limit for i, j in enumerate(range(count))}
print(pages2)