2024-09-27 21:24:29 发布
网友
这里prnson.result结果包含从查询提交的数据。我想要预期的产出,但它不来。我使用的是python2.5
for row in prsnobj.result: ansdb = {row[0] : row[1]} print ansdb
实际值:{1L:3L}{2L:4L}{3L:2L}{4L:2L}{5L:2L}
应为:{1:3,2:4,3:2,4:2,5:2}
L的意思是它是长整数(64位)形式,所以返回的值仍然是正确的。当您创建一个新的字典,其中包含已经存在的条目(就像您现在这样)时,它会自动将所有条目转换为长格式;相反,您应该使用元组,或者只是打印循环本身中的每个条目:
for row in prsnobj.result: print row[0] + " : " + row[1]
或者
for row in prsnobj.result: ansdb = (row[0], row[1]) print ansdb
根据prsnobj对象的定义方式,最终可能仍然会得到长整数。如果是这样,您需要回顾一下定义prsnobj的代码,并检查它是否正确创建。使用打印输出确保对象始终处于您想要的状态!你知道吗
当使用不同的数据库接口时,从数据库获取的整数通常返回为Long。你知道吗
Long
如果你想要你想要的结果
ansdb = {} for row in prsnobj.result: ansdb[int(row[0])] = int(row[1])
也许Python的MySQL documentation可以帮助解决问题
for row in prsnobj.result: ansdb = {int(row[0]) : int(row[1])} print ansdb
如果结果类型很长,则应转换为int
L的意思是它是长整数(64位)形式,所以返回的值仍然是正确的。当您创建一个新的字典,其中包含已经存在的条目(就像您现在这样)时,它会自动将所有条目转换为长格式;相反,您应该使用元组,或者只是打印循环本身中的每个条目:
或者
根据prsnobj对象的定义方式,最终可能仍然会得到长整数。如果是这样,您需要回顾一下定义prsnobj的代码,并检查它是否正确创建。使用打印输出确保对象始终处于您想要的状态!你知道吗
当使用不同的数据库接口时,从数据库获取的整数通常返回为
Long
。你知道吗如果你想要你想要的结果
也许Python的MySQL documentation可以帮助解决问题
如果结果类型很长,则应转换为int
相关问题 更多 >
编程相关推荐