Fedor March Asked:2022-08-30 08:46:12 +0000 UTC2022-08-30 08:46:12 +0000 UTC 2022-08-30 08:46:12 +0000 UTC 比较(==)两个未排序的数组 772 需要你的建议) 是否有一种算法可以比较(相等或不相等)两个未排序数组的内容? 那些。[3, 2, 1] == [1, 2, 3],但是在这种情况下是否可以在True不预先对这些数组进行排序的情况下获得? python 3 个回答 Voted Best Answer Daniil Molotkov 2022-08-30T10:29:23Z2022-08-30T10:29:23Z 您可以使用内置的集合模块, import collections l1 = [10, 99, 20, 30, 40, 50] l2 = [10, 20, 30, 99, 50, 40] if collections.Counter(l1) == collections.Counter(l2): print ("Списки l1 и l2 одинаковые") else: print ("Списки l1 и l2 неодинаковые") CrazyElf 2022-08-30T15:38:29Z2022-08-30T15:38:29Z 首先,您需要回答“您对什么感兴趣?”这个问题。目标示例: 花费最少的精力 节省内存 最快的算法 每种情况下的决定都会有所不同。比如第三种情况,首先比较列表的长度是有意义的,如果它们不同,那么答案是显而易见的False。如果长度相同,那么您可以计算(通过Counter或通过字典)第一个列表的元素,然后通过第二个列表并减少先前收到的计数器,如果突然任何计数器低于 0,然后我们又提前得到了答案False。 为了节省内存,您还可以想出一些棘手的事情,利用它int在 python 中是无限的,并像评论中建议的那样计算一个棘手的哈希值,在传递第一个列表并删除时向它添加值通过第二个时相同的值。 好吧,关于第一个选项,他们已经写信将两者进行比较Counter。 Fedor March 2022-08-30T09:15:56Z2022-08-30T09:15:56Z 找到了fuzzywuzzy库 对于这个特定的问题,答案是: fuzzy.token_sort_ratio([3, 2, 1], [1, 2, 3]) 回报:100%
您可以使用内置的集合模块,
首先,您需要回答“您对什么感兴趣?”这个问题。目标示例:
每种情况下的决定都会有所不同。比如第三种情况,首先比较列表的长度是有意义的,如果它们不同,那么答案是显而易见的
False。如果长度相同,那么您可以计算(通过Counter或通过字典)第一个列表的元素,然后通过第二个列表并减少先前收到的计数器,如果突然任何计数器低于 0,然后我们又提前得到了答案False。为了节省内存,您还可以想出一些棘手的事情,利用它
int在 python 中是无限的,并像评论中建议的那样计算一个棘手的哈希值,在传递第一个列表并删除时向它添加值通过第二个时相同的值。好吧,关于第一个选项,他们已经写信将两者进行比较
Counter。找到了fuzzywuzzy库
对于这个特定的问题,答案是:
回报:100%