【问题标题】:How can I increment the value of a variable within dictionary comprehension如何在字典理解中增加变量的值
【发布时间】:2016-08-13 10:02:09
【问题描述】:
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}

如何使用字典理解获得相同的结果?我似乎无法在每次迭代后使用dict理解增加变量“start”的值。

是否有可能达到同样的结果理解?

【问题讨论】:

    标签: python dictionary-comprehension


    【解决方案1】:

    使用数学:

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

    由于start 从零开始并不断添加100,因此我们可以使用乘法来找到每个点的位置。如果startlimit 并非总是如此,您仍然可以这样做:

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

    【讨论】:

      【解决方案2】:
      start = 0
      limit = 100
      count = 10
      pages2 = {(i + 1): start + i * limit for i in range(count)}
      print pages2
      

      【讨论】:

        【解决方案3】:

        当我在寻找增加一个变量的解决方案时遇到了这个问题,我想成为字典中每个键的一部分。 这里的解决方案对我的情况没有帮助,所以我使用了 Python 的 enumerate() 方法。对于此处发布的问题,我的解决方案如下所示:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-03-16
          • 1970-01-01
          • 2013-10-23
          • 1970-01-01
          • 1970-01-01
          • 2019-04-15
          • 2019-08-24
          • 1970-01-01
          相关资源
          最近更新 更多