我在使用django建立ID列表时遇到一个问题。如果我选择1个以上的ID,就可以了,但是如果我只选择1个,它将在列表中产生额外的','。

testa = tuple([k['id'] for k in queryset.values('id')])
print testa

如果queryset中的ID恰好是1,它将显示
(1234,)

除此之外,还可以
(1234,1244)

如何删除列表中的多余“,”

最佳答案

(1234,)

是1元组的正确Python表示形式。 (1234)是错误的,因为在数学括号中将其视为简单整数,计算得出1234,而不是包含它的元组。

对于列表而言,这是不同的,因为方括号不具有兼具数学运算顺序的双重目的,因此,虽然[1234][1234,]都是长度为1的列表的有效表示形式,但默认文本表示形式可以不使用多余的逗号。

如果您正在设计自己的元组文本表示形式,而不必与Python相同,则可以执行以下操作:
'(%s)' % ', '.join(map(repr, testa))

关于python - 如何在Django的元组中删除多余的 ','(python),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6082195/

10-13 03:27