【问题标题】:Scalar multiplication dictionary value [duplicate]标量乘法字典值[重复]
【发布时间】:2016-01-05 13:20:55
【问题描述】:

我有这本词典:

data = {'x': [1, 2, 3]}

我想将键“x”的列表乘以一个标量,例如:

data['x']*2

但我得到:

[1, 2, 3, 1, 2, 3]

安装于:

[2, 4, 6]

我该怎么做? 谢谢

【问题讨论】:

    标签: python dictionary


    【解决方案1】:

    不要将列表乘以 2,将每个元素乘以 2 并重新分配给键 'x'

    >>> data = {'x': [1, 2, 3]}
    >>> data['x'] = [2*x for x in data['x']]
    >>> data
    {'x': [2, 4, 6]}
    

    (重新分配是可选的,具体取决于您尝试执行的操作)

    【讨论】:

    • 我用 numpy 找到了另一个解决方法:data['x'] = np.array(data['x'])**2
    【解决方案2】:

    你需要遍历它的元素:

      map(lambda x: x * 2, data['x'])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-19
      • 1970-01-01
      • 2017-09-08
      • 1970-01-01
      相关资源
      最近更新 更多