我正在使用django从我拥有的MySQL服务器中提取一些数据。目前我从SQL服务器中提取了整列数据(“轻量级”列)。
要执行此操作,我使用以下代码
weather = weatherdata.objects.values_list('light', flat=True)
lightdata = list(weather)
当我这样做时,lightdata列表如下所示:
[35L, 53L, 77L, 99L, 49L, 46L, 28L, 13L, 2L, 0L, 0L, 0L]
这些值是正确的,它们只是在每个值的末尾都有一个L.如何从此列表中删除L?
答案 0 :(得分:4)
您可以这样做:
l = [35L, 53L, 77L, 99L, 49L, 46L, 28L, 13L, 2L, 0L, 0L, 0L]
l = [int(item) for item in l]
此外,如果您要删除复制的项目:
l = [35L, 53L, 77L, 99L, 49L, 46L, 28L, 13L, 2L, 0L, 0L, 0L]
l = list(set(l))
l = [int(item) for item in l]
答案 1 :(得分:2)
最后的L表示它是一个很长的类型。它不会通过print语句打印,它只是告诉你这里存储的数字绝对不是整数。
如果你真的想摆脱它们,那么我想你可以做类似以下的事情:
lightdataNew = []
for num in lightdata:
lightdataNew.append(int(num))
lightdata = lightdataNew[:]
答案 2 :(得分:1)
L表示长整数。
>>> a = long(5)
>>> a
5L
>>> print a
5
您可以根据需要转换列表中元素的类型,但可能没有必要。
>>> b = [int(i) for i in list_of_longs]
>>> c = [str(i) for i in list_of_longs]
编辑:似乎Goin,Makoto和我都在同一时间输入答案。