2016-08-13 56 views
0
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} 

如何使用字典理解實現相同的結果?我似乎無法在詞典理解的每次迭代之後遞增變量「開始」的值。如何增加字典理解中的變量值

是否有可能達到相同的結果理解?

回答

2

使用數學:

pages = {(i+1): 100 * i for i in range(count)} 

由於start在零開始,並不斷增加100,我們可以用乘法來找到它應該是在每一個點。如果startlimit並不總是他們在這裏,你仍然可以這樣做:

pages = {(i+1): start + (limit * i) for i in range(count)} 
1
start = 0 
limit = 100 
count = 10 
pages2 = {(i + 1): start + i * limit for i in range(count)} 
print pages2