刷题的时候遇到一个题目,字符串列表strs[str]中包含许多字符串元素,对比字符串元素间是否有相同字母。

在进行对比的时候,可以将字符串映射为二进制0、1串,01串进行位运算中的与运算,可以快速得出答案(与运算后结果大于0则存在相同字母)。

 

然而,Python中是没有字符型类型的,所以在进行字符串元素映射到01串的操作时,无法用pos = char - 'a'得到每个字母对应的01串位置。而使用字典又太过麻烦。

一番学习,发现Python内置方法ord()可以实现此功能。

 

ord(char)返回char对应的ASCII码。如pos = ord('f') - 97,即可得到某个字母对应的01串中的位置。

 

如何得到01串:

one_hot = 0

pos = ord('f') - 97

one_hot += 2 ** pos

相关文章:

  • 2021-10-07
  • 2021-09-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-16
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-08
  • 2022-12-23
  • 2022-12-23
  • 2022-01-25
  • 2022-12-23
相关资源
相似解决方案