什么是比较两个变量的最惯用的方法?

2024-04-19 05:41:27 发布

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

我想写一个通用的比较函数,如果a和b有相同的元素和相同的数量,不管这些元素是如何排序的,它都可以判断a和b相等。此外,我想通用的解决方案,可以与所有类型的工作,在类型不匹配的情况下,一些信息被打印出来。示例:

a = [1, 2]
b = [2, 1]
my_func(a, b)
>>> True

c = pd.DataFrame({'col1':[0, 1],
                  'col2':[2, 3])
d = pd.DataFrame({'col1':[1, 0],
                  'col2':[3, 2])
my_func(c, d)
>>> True

my_func(a, c)
>>> Different types to compare!
>>> False

当然,所有的检查可能都是硬编码的,也可能是排序,但我想知道是否有一种优雅的方法来做到这一点。你知道吗


Tags: 函数信息true元素类型dataframe数量排序
1条回答
网友
1楼 · 发布于 2024-04-19 05:41:27

比较事物的“pythonic”方法是

a == b

如果要比较列表而不考虑顺序,但要确保它们具有相同数量的元素,可以使用collections.Counter

from collections import Counter
Counter(a) == Counter(b)

相关问题 更多 >