【问题标题】:How to divide or multiply between elements of a tuple in python?如何在python中元组的元素之间进行除法或乘法?
【发布时间】:2021-11-03 16:08:16
【问题描述】:

我有下一个元组作为 sql 查询的结果:

tuple1 = [(245, 57)]
tuple2 = [(11249, 5728)]
tuple3 = [(435, 99)]

我需要将 57 与 245 分开,其余部分相同。

我可以通过以下方式访问单个元素:

[x[0] for x in rows]

但是当我这样做时:

a = [x[1] for x in rows] / [x[0] for x in rows]

我得到 TypeError: unsupported operand type(s) for /: 'list' and 'list'

【问题讨论】:

  • 为什么不在SQL查询中做除法?

标签: python list tuples


【解决方案1】:
a = [x[1] for x in rows] / [x[0] for x in rows]

将尝试将列表除以列表。

你的意思是:

a = [x[1] / x[0] for x in rows]

这是列表中每个项目的划分元素。

【讨论】:

    【解决方案2】:

    使用多个名称可以提高可读性:

    a = [y / x for x, y in rows]
    

    【讨论】:

    • 但是,如果将元组更改为包含其他元素,这将中断。字典更具可读性和安全性,但可用于将来的校对。
    【解决方案3】:

    另一种选择是

    list(map(lambda x: x[1]/x[0] if x[0] else 0,rows))
    

    【讨论】:

      猜你喜欢
      • 2017-07-08
      • 1970-01-01
      • 1970-01-01
      • 2013-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多