[英]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.