【问题标题】:How to convert tuple type to int on python?如何在python上将元组类型转换为int?
【发布时间】:2015-03-27 23:32:21
【问题描述】:

我是 Python 初学者。 我想将 sqlcommand 结果(tuple 类型)转换为int 类型。 我该怎么做?

import MySQLdb

db = MySQLdb.connect("localhost","root","password","database")
cursor = db.cursor()
cursor.execute("SELECT timestamp FROM unixdb")
u_data = cursor.fetchall()

>>> print u_data
((1424794931452.0,),)

u_data 类型是 tuple,我想从中获取 int 类型。

【问题讨论】:

  • 您的所有响应是否都包含在 2 个元组中并且只有 1 个 int?例如:((num,),)

标签: python int tuples type-conversion


【解决方案1】:

你所拥有的是一个元组中的一个元组。所以你想要外部元组的第一项,即u_data[0]:最里面的元组。然后你想要其中的第一项,即u_data[0][0]。那是一个float,所以要得到一个整数,你想把整个东西包装在int()中,导致我们:

int(u_data[0][0])

【讨论】:

  • 这真的是最好的答案吗?在这种情况下,它可以工作。但大概 OP 想要一种从任意深度的元组/列表中提取单线态的方法?也许我试图过度概括,但似乎必须有一个函数来解开任意深度,不是吗?
  • 当然有:你写的那个!
【解决方案2】:

如果结果集包含多个时间戳, 您可以通过以下方式获取时间戳列表:

...
u_data, _ = cursor.fetchall()
u_data = [int(_) for _ in udata]

【讨论】:

    猜你喜欢
    • 2021-09-12
    • 2016-03-12
    • 2019-05-15
    • 1970-01-01
    • 2016-06-07
    • 2019-12-01
    • 1970-01-01
    • 2018-02-11
    • 1970-01-01
    相关资源
    最近更新 更多