Python 比较Django ValuesListQuerySet元素和List元素
我有两个变量:Python 比较Django ValuesListQuerySet元素和List元素,python,django,python-3.x,Python,Django,Python 3.x,我有两个变量: var1 ex: [6, 2, 4, 5] type: ValuesListQuerySet var2 ex: ['4', '2'] type: List 我必须比较这两个变量的元素,结果应该是: ['4', '2'] 我的代码: idmatch = [] for r in var1: for k in var2: if k == r: print("here") idmatch.append(str(k
var1 ex: [6, 2, 4, 5] type: ValuesListQuerySet
var2 ex: ['4', '2'] type: List
我必须比较这两个变量的元素,结果应该是:
['4', '2']
我的代码:
idmatch = []
for r in var1:
for k in var2:
if k == r:
print("here")
idmatch.append(str(k))
这两个元素从不相同,结果是:
[]
我如何比较它们
谢谢不同之处不在于查询集和列表,而在于它们的内容;一个有整数,另一个有字符串。不同的不是查询集和列表,而是它们的内容;一个包含整数,另一个包含字符串。您的
ValuesListQuerySet
包含整数,但您的列表包含字符串
如果您不关心顺序,最简单的解决方案是将两个变量都转换为集合
# convert var1 to a set of strings
var1 = set(str(x) for x in var1)
# convert var2 to a set
var2 = set(var2)
idmatch = var1 & var2
ValuesListQuerySet
包含整数,但列表包含字符串
如果您不关心顺序,最简单的解决方案是将两个变量都转换为集合
# convert var1 to a set of strings
var1 = set(str(x) for x in var1)
# convert var2 to a set
var2 = set(var2)
idmatch = var1 & var2
非常感谢你!解决了我的问题:)非常感谢!解决了我的问题:)