我希望制作一个字典和一个列表,然后设置if a.keys() == b
,然后打印a.values()
。
示例:
c = [{'1': '0'}, {'0': '5'},{'2': '0'}]
d = {1,2}
我希望将这两个设置为一组。然后找到所有相似之处,并在不更改顺序的情况下打印值。
例如,我要打印出来。
{'1': '0'}
{'2': '0'}
可以使用set吗?
下面是我的代码:
a = set(c.keys()) & set(d)
print(a)
for x in a:
y,z = c[x]
答案 0 :(得分:2)
由于示例集中包含整数,而示例字典中的键是字符串,因此应首先将集合中的整数转换为字符串。之后,您可以简单地遍历列表中的每个字典,如果字典的键与集合相交,则打印字典,因为它是匹配项:
d = set(map(str, d))
for i in c:
if i.keys() & d:
print(i)
这将输出:
{'1': '0'}
{'2': '0'}
答案 1 :(得分:1)
首先,您以错误的方式指定了输入值。应该将字典teamA
定义为包含键和值的字典,而不是像每个字典那样定义每个字典都包含一项的字典。键应指定为整数而不是字符串。否则,稍后需要将它们从c
投射到string
。第二项int
的指定方式也错误。这应该是整数列表,而不是字典。
以下是正确指定输入值并为您提供所需输出的代码:
d
这将提供c = {1: '0', 0: '5', 2: '0'}
d = [1,2]
distinct_keys = c.keys() & set(d)
# {1, 2}
distinct_values = {key: value for key, value in c.items() if key in distinct_keys}
# {1: '0', 2: '0'}
distinct_values
作为输出。