Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 比较Django ValuesListQuerySet元素和List元素_Python_Django_Python 3.x - Fatal编程技术网

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

非常感谢你!解决了我的问题:)非常感谢!解决了我的问题:)