您好我的values_list如下:
x = [(u'All',), (u'C4DI',), (u'C4MI',), (u'TBAZ_DI',), (u'TBAZ_FI',), (u'TTAZ_DI',), (u'TTAZ_FI',)]
如何将此values_list转换为正常列表,如
[Al, C4, C4, ...]
任何想法的人?我试过了
y = list(x)
但那并没有奏效。伙计我怎么能这样做?
答案 0 :(得分:3)
使用参数flat=True
立即获得展平列表:
Model.objects.values_list('column', flat=True)
答案 1 :(得分:1)
你可以尝试这一切,这里我使用str()将unicode转换为str
value is 954.0
is nil
答案 2 :(得分:1)
因为,您只需要列表中的前2个字符:
>>> x = [(u'All',), (u'C4DI',), (u'C4MI',), (u'TBAZ_DI',), (u'TBAZ_FI',), (u'TTAZ_DI',), (u'TTAZ_FI',)]
>>> [str(i[0][:2]) for i in x]
['Al', 'C4', 'C4', 'TB', 'TB', 'TT', 'TT']
编辑:如果您使用flat=True
(如yedpodtrztiko's answer中所述),请使用以下代码:
[str(i[:2]) for i in x]
x = [u'C4DI', u'C4MI', u'All', u'TTAZ_DI', u'TBAZ_DI', u'TTAZ_FI', u'TBAZ_FI']
答案 3 :(得分:0)
答案 4 :(得分:-1)
你可以使用list comprehension这样做:
x = [(u'All',), (u'C4DI',), (u'C4MI',), (u'TBAZ_DI',), (u'TBAZ_FI',), (u'TTAZ_DI',), (u'TTAZ_FI',)]
q = [str(i[0] + i[1]) for a in x for i in a]