我一直在尝试列表理解的每一次迭代,我可以在上下文中。
我正在接收来自数据库的电话,并将其转换为[['item', long integer]]
的列表。
我想将长整数转换为常规整数,因为我的其余数学都是常规积分。
我正在尝试这个:
catnum = c.fetchall()
catnum = [list(x) for x in catnum]
for x in catnum:
[int(y) for y in x]
我也尝试了x [1]和其他一些东西(它总是在列表中的位置1)
没有运气。如何仅将列表中的第二个值转换为常规整数?
答案 0 :(得分:2)
这有用吗?
catnum=[[x,int(y)] for x,y in catnum]
但是,我认为值得问为什么你需要进行这种转换。 Python应该在常规整数可以工作的任何地方处理长整数。将它们保留为长时间内会有轻微的性能损失,但在大多数情况下,我认为这并不能证明转换为常规整数的额外工作是合理的。
编辑 对于阅读评论的人来说,我的第一个答案是错误的,并且不涉及列表理解。它依赖于改变catnum中的元素,但由于这些元素都在元组中,因此它们不能被变异。
答案 1 :(得分:1)
[[x[0],int(x[1])] for x in catnum]
这将返回一个列表列表,其中名称中的第一个条目和第二个条目是转换为正常整数的值。