如何找到设置和打印值的相似性

2024-04-20 11:16:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望把一个字典和一个列表放入set然后if a.keys() == b,然后我将打印a.values()。在

示例:

c = [{'1': '0'}, {'0': '5'},{'2': '0'}]
d = {1,2}

我希望能把这两个拍成一组。然后找出所有的相似性并在不改变序列的情况下打印值。在

例如,我想打印这个。在

^{pr2}$

可以用set吗?在

以下是我的代码:

^{3}$

Tags: 代码示例列表if字典情况序列keys
2条回答

因为在你的例子中,字符串应该包含整数集,而在你的例子中,字符串应该包含整数。之后,您可以简单地循环查看列表中的每个dict,如果dict的键与集合相交,则打印dict,因为它是匹配的:

d = set(map(str, d))
for i in c:
    if i.keys() & d:
        print(i)

该输出:

^{pr2}$

首先,您指定了错误的输入值。字典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

这将把{1: '0', 2: '0'}作为输出。在

相关问题 更多 >