相关疑难解决方法(0)

如何找到列表交集?

a = [1,2,3,4,5]
b = [1,3,5,6]
c = a and b
print c
Run Code Online (Sandbox Code Playgroud)

实际产出:[1,3,5,6] 预期产量:[1,3,5]

我们如何在两个列表上实现布尔AND操作(列表交集)?

python arrays intersection

155
推荐指数
9
解决办法
16万
查看次数

哈希字典?

出于缓存目的,我需要从dict中存在的GET参数生成缓存键.

目前我正在使用sha1(repr(sorted(my_dict.items())))(sha1()是一种在内部使用hashlib的便捷方法),但我很好奇是否有更好的方法.

python hash dictionary

135
推荐指数
9
解决办法
8万
查看次数

两个dict列表的交集 - Python

我有两个dict列表

listA = [{'id': 'abc', 'key1': '542696d8485b'}]
listB = [{'id': 'abc', 'key1': '542696d8485b'}, {'id': 'def', 'key1': '27348628grn'}]
Run Code Online (Sandbox Code Playgroud)

我想提取 listC = [{'id': 'abc', 'key1': '542696d8485b'}]

即我想找到基于'id'字段的交集(基于任何一个字段,假设列表中的公共项完全相同).建议我一些有效的pythonic方式...

怎么样的

listA_set = set(item['id'] for item in listA)
listB_set = set(item['id'] for item in listB)
listC_set = listA_set & listB_set
listC = {item:listA[item] for item in listC_set}
Run Code Online (Sandbox Code Playgroud)

python dictionary list-comprehension list

-3
推荐指数
1
解决办法
3685
查看次数