【问题标题】:How to multiply dictionary keys? [duplicate]如何乘以字典键? [复制]
【发布时间】:2019-07-11 13:31:17
【问题描述】:

我想将这本词典的键乘以 2

d = {2: (1,2), 8: (2,4), 30: (10,3)}

for i in d.keys():
    print(i*2)

4
16
60

但是d 仍然是{2: (1,2), 8: (2,4), 30: (10,3)}

我怎样才能让d 变成{4: (1,2), 16: (2,4), 60: (10,3)}

【问题讨论】:

  • 这没有任何意义。您希望键与每个值相乘还是只与第一个值相乘?
  • 看看下面发布的答案是否有帮助?如果是,您可以通过单击旁边的勾号来接受它。干杯!

标签: python dictionary for-loop


【解决方案1】:

相信你想要的是:

将每个key2 相乘。不是它的平方。

d = {2: (1,2), 8: (2,4), 30: (10,3)}
d = {k*2: v for (k, v) in d.items()}
print(d)

输出:

{4: (1, 2), 16: (2, 4), 60: (10, 3)}

【讨论】:

    【解决方案2】:

    您可以尝试以下方法吗:

    d = {2: (1,2), 8: (2,4), 30: (10,3)}
    d = {k**2: v for k, v in d.items()}
    

    【讨论】:

      【解决方案3】:

      字典理解:

      double = {k*2:v for (k,v) in d.items()}
      

      【讨论】:

        【解决方案4】:
        new_d = {}
        for k,v in d.items():
            new_d[k*2] = v
        d = new_d
        

        【讨论】:

          【解决方案5】:

          试试这个:

          d = dict((key*2, value) for (key, value) in d.items())
          

          【讨论】:

            猜你喜欢
            • 2017-03-27
            • 1970-01-01
            • 1970-01-01
            • 2021-05-23
            • 2018-03-27
            • 1970-01-01
            • 1970-01-01
            • 2020-11-08
            • 2017-05-20
            相关资源
            最近更新 更多