如何在字典理解中增加变量的值

时间:2016-08-13 10:02:09

标签: python 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'的价值。在每次迭代之后用dict理解。

是否有可能实现相同的结果理解?

3 个答案:

答案 0 :(得分: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 :(得分:1)

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

答案 2 :(得分:0)

我在寻找一种解决方案来增加一个我想成为字典中每个键的一部分的变量时遇到了这个问题。 这里的解决方案对我的情况无济于事,因此我为此使用了Python的enumerate()方法。这是这里发布的问题的解决方案:

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