首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django QuerySet values_list返回未知字符

Django QuerySet values_list返回未知字符
EN

Stack Overflow用户
提问于 2011-12-22 05:25:04
回答 3查看 2.3K关注 0票数 2

我正在使用django从我拥有的MySQL服务器中提取一些数据。目前,我让它从SQL服务器中拉出一整列数据(“轻型”列)。

为此,我使用以下代码

代码语言:javascript
复制
weather = weatherdata.objects.values_list('light', flat=True)

lightdata = list(weather)

当我这样做时,lightdata列表如下所示:

代码语言:javascript
复制
[35L, 53L, 77L, 99L, 49L, 46L, 28L, 13L, 2L, 0L, 0L, 0L]  

这些值是正确的,只是在每个值的末尾都有一个L。如何从该列表中删除L?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-22 05:32:20

你可以这样做:

代码语言:javascript
复制
l = [35L, 53L, 77L, 99L, 49L, 46L, 28L, 13L, 2L, 0L, 0L, 0L]
l = [int(item) for item in l]

此外,如果要删除复制的项目:

代码语言:javascript
复制
l = [35L, 53L, 77L, 99L, 49L, 46L, 28L, 13L, 2L, 0L, 0L, 0L]
l = list(set(l))
l = [int(item) for item in l]
票数 4
EN

Stack Overflow用户

发布于 2011-12-22 05:32:35

末尾的L表示它是一个长类型。它不会通过print语句打印,它只是告诉您这里存储的数字绝对不是整数。

如果你真的想摆脱它们,那么我想你可以这样做:

代码语言:javascript
复制
lightdataNew = []
for num in lightdata:
    lightdataNew.append(int(num))
lightdata = lightdataNew[:] 
票数 2
EN

Stack Overflow用户

发布于 2011-12-22 05:37:04

L表示长整型。

代码语言:javascript
复制
>>> a = long(5)
>>> a
5L
>>> print a
5

您可以根据需要转换列表中元素的类型,但这可能不是必需的。

代码语言:javascript
复制
>>> b = [int(i) for i in list_of_longs]
>>> c = [str(i) for i in list_of_longs]

编辑: Goin、Makoto和我似乎都在同时输入答案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8596589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档