当前位置: 首页 > 面试题库 >

检查两个字符串是否在Python中彼此置换

郎聪
2023-03-14
问题内容

我正在检查两个字符串ab是否彼此置换,并且想知道在Python中执行此操作的理想方法是什么。在Python的Zen中,“应该有一种-最好只有一种-
明显的方式来做到这一点,”但我看到至少有两种方式:

sorted(a) == sorted(b)

all(a.count(char) == b.count(char) for char in a)

但是第一个字符较慢时(例如)的第一个字符在a中不存在b,而第二个字符实际上是置换时则较慢。

有没有更好的方法(从更Pythonic的角度来看,或者从平均而言更快)?还是应该根据我希望最常见的情况从这两个中进行选择?


问题答案:

启发式地,您最好根据字符串大小将它们分开。

伪代码:

returnvalue = false
if len(a) == len(b)
   if len(a) < threshold
      returnvalue = (sorted(a) == sorted(b))
   else
       returnvalue = naminsmethod(a, b)
return returnvalue

如果性能至关重要,并且字符串大小可以大或小,那么这就是我要做的。

根据输入的大小或类型分割这样的事情是很常见的。算法具有不同的优势或劣势,在另一种更好的情况下使用一种算法是愚蠢的。在这种情况下,Namin的方法为O(n),但常数因子比O(n
log n)排序的方法大。



 类似资料:
  • 问题内容: 我正在使用Python v2,并且试图找出是否可以判断字符串中是否包含单词。 我发现了一些有关识别单词是否在字符串中的信息-使用.find,但是有一种方法可以执行IF语句。我想要以下内容: 谢谢你的帮助。 问题答案: 出什么问题了:

  • 问题内容: 如何检查数组中的任何字符串是否在另一个字符串中? 喜欢: 该代码行不通,只是为了展示我想要实现的目标。 问题答案: 你可以使用: 同样,要检查是否找到了列表中的所有字符串,请使用all代替any。

  • 本文向大家介绍检查字符串在Python中是否有效JSON,包括了检查字符串在Python中是否有效JSON的使用技巧和注意事项,需要的朋友参考一下 JSON是一种文本格式,用于在各种计算机程序之间轻松交换数据。它具有Python可以验证的特定格式。在本文中,我们将考虑一个字符串,并使用JSON模块验证该字符串是否表示有效的JSON格式。 创建JSON对象 json模块具有称为load的方法。它加载

  • 问题内容: 如何检查是否是那里的? 我想分配给是否有结果,否则。 我当前的代码是: 问题答案:

  • 本文向大家介绍如何检查Python的另一个字符串中是否存在多个字符串?,包括了如何检查Python的另一个字符串中是否存在多个字符串?的使用技巧和注意事项,需要的朋友参考一下 要检查数组中的任何字符串是否在另一个字符串中,可以使用any函数。  示例 输出结果 这将为您提供输出: 示例 尽管有些夸张,但您也可以使用正则表达式来匹配数组。例如: 输出结果 这将为您提供输出:

  • 以下是我的项目的细节: 字谜:这个项目的目的是创建一个游戏,在这个游戏中,用户可以看到一个单词的字谜,并且必须在有限的尝试次数内猜出正确的单词。项目特点: null

  • 问题内容: 我之前已经找到了这个问题的一些答案,但是对于当前的Python版本似乎已经过时了(或者至少它们对我不起作用)。 我想检查子字符串是否包含在字符串列表中。我只需要布尔结果。 我找到了这个解决方案: 我希望从这段代码中得到一个价值。如果单词是“ der”,则输出应为。 但是,结果是一个生成器函数,我找不到找到该值的方法。 任何想法? 问题答案: 您可以导入从的情况下,它是由一些其他的替代:

  • 本文向大家介绍检查字符串的两半在Python中是否具有相同的字符集,包括了检查字符串的两半在Python中是否具有相同的字符集的使用技巧和注意事项,需要的朋友参考一下 我们必须检查在Python中,字符串的两半是否具有相同的字符集。两半中字符的频率必须相同。如果字符串的长度是奇数,请忽略中间的字符并检查其余字符。请按照以下步骤编写程序代码。 算法 让我们编写代码。 示例 输出结果 如果运行上述程序