簡體   English   中英

在python中將元組轉換為int

[英]Converting tuple to int in python

我有一個返回元組的查詢,我正在嘗試將該元組中的第一個值轉換為 int 但它總是給我這個錯誤: TypeError: int() argument must be a string, a bytes-like object or a number, not 'tuple'

我不明白為什么要這樣做,因為返回的值如下所示: [(25,)]

這是代碼:

cursor.execute("SELECT temp FROM temperatures WHERE datetimetest = ?", [datenow])
    currentTemp = cursor.fetchall()
    print(currentTemp) # this gives me [(25,)]
    convertedTemp = int(currentTemp[0])

因為[(25,)]實際上是列表中元組內的 int - 所以獲取 int 的正確調用將是currentTemp[0][0]

您可以將元組列表轉換為整數列表

query = "some query that gets list of integers"
cursor.execute(query)
values = cursor.fetchall()

# values now looks like : [(1,), (2,), (3,)] 

i = 0
for v in values:
    values[i] = v[0]
    i += 1

# values now looks like : [1, 2, 3] 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM