【问题标题】:How to print absolute value from list of negative valued tuples? [duplicate]如何从负值元组列表中打印绝对值? [复制]
【发布时间】:2018-05-07 12:35:53
【问题描述】:

我有一个包含负值元组的列表,如下所示

vect=[(-x*3,-y*2) for x in [2,3,4] for y in [1,5,6]]

我想用它的绝对值打印列表,比如

[(6, 2), (6, 10), (6, 12), (9, 2), (9, 10), (9, 12), (12, 2), (12, 10), (12, 12)]

但我试图得到一个输出但得到一个错误

TypeError: abs() 的操作数类型错误:'tuple'

所以我需要有关此问题的帮助或建议。

【问题讨论】:

  • 很高兴您已经发布了错误,但您还没有发布产生错误的代码...
  • [(abs(x), abs(y)) for x, y in vect][tuple(abs(x) for x in tup) for tup in vect]
  • 感谢这工作...

标签: python


【解决方案1】:

使用简单的list comprehension:

[(abs(i[0]), abs(i[1])) for i in vect]

# [(6, 2), (6, 10), (6, 12), (9, 2), (9, 10), (9, 12), (12, 2), (12, 10), (12, 12)]

【讨论】:

    【解决方案2】:

    使用map

    例如:

    vect=[(-x*3,-y*2) for x in [2,3,4] for y in [1,5,6]]
    print([map(abs, i) for i in vect])     #Python3 --> print([list(map(abs, i)) for i in vect])
    

    输出:

    [[6, 2], [6, 10], [6, 12], [9, 2], [9, 10], [9, 12], [12, 2], [12, 10], [12, 12]]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-21
      • 1970-01-01
      • 2020-06-27
      • 1970-01-01
      • 2022-11-15
      相关资源
      最近更新 更多