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

更好地比较片或字节?

狄宇
2023-03-14
问题内容

我只是想知道哪种方法更好(或者我是否缺少更好的方法)。我试图确定一个单词的第一个字母和最后一个字母是否相同,并且有两个明显的解决方案。

if word[:1] == word[len(word)-1:]

要么

if word[0] == word[len(word)-1]

据我了解,第一个只是提取字符串的片段并进行字符串比较,而第二个则是从任一端提取字符并将其作为字节进行比较。

我很好奇两者之间是否存在性能差异,并且是否有任何“可取的”方式来做到这一点?


问题答案:

如果用字母表示您的符文,请使用:

func eqRune(s string) bool {
    if s == "" {
        return false // or true if that makes more sense for the app
    }
    f, _ := utf8.DecodeRuneInString(s)  // 2nd return value is rune size. ignore it.
    l, _ := utf8.DecodeLastRuneInString(s) // 2nd return value is rune size. ignore it.
    if f != l {
        return false
    }
    if f == unicode.ReplacementChar {
        // First and last are invalid UTF-8. Fallback to 
        // comparing bytes.
        return s[0] == s[len(s)-1]
    }
    return true
}

如果您的意思是字节,请使用:

func eqByte(s string) bool {
    if s == "" {
        return false // or true if that makes more sense for the app
    }
    return s[0] == s[len(s)-1]
}

比较单个字节的速度比比较基准测试中所示的字符串切片的速度要快。

游乐场的例子



 类似资料:
  • 问题内容: 使用“ is”运算符或“ ==”运算符在Python中比较两个数字是否更好? 例子: 问题答案: 使用。 有时候,在某些python实现中,巧合的是,可以使用-5到256之间的整数(例如,在CPython实现中)。但是不要依赖于此或在实际程序中使用它。

  • 问题内容: 我目前正在使用以下功能比较字典值。有更快或更更好的方法吗? 编辑:两个字典包含相同的键。 问题答案: 如果字典具有相同的键集,并且您需要所有这些打印件以实现任何值差异,那么您将无能为力。也许像这样: 几乎等同于您所拥有的,但是您可能会得到更好的演示,例如在循环使用diffkey之前对其进行排序。

  • 本文向大家介绍dot net core跟dot net比较有哪些更好的地方?相关面试题,主要包含被问及dot net core跟dot net比较有哪些更好的地方?时的应答技巧和注意事项,需要的朋友参考一下 第一是跨平台,它可以运行在三大操作系统上面,windows, Linux和MAC。 第二是对架构本身安装没有依赖,因为所有的依赖都跟程序本身在一起。 第三是dot net core处理请求的效

  • 问题内容: 我听说散列(即将字符串或对象转换为数字)用于字符串等,因为比较数字比字符串更容易。如果为真,这是什么原因? 问题答案: 不一定是这种情况,但大多数时候可能是这样。 请考虑以下情况: 我想比较字符串“ apples”和“ oranges”。如果我只想确定“ apples” ==“ oranges”,我只需要比较每个字符串的第一个字符:’a’!=’o’=>“ apples”!=“ oran

  • 问题内容: 我们在该网站上有一个庞大的应用程序,并且我们有一些链接,比如我们网站上的蓝色链接就是蓝色。现在,我想建立其他一些链接,但颜色要浅一些。显然,我可以简单地通过在CSS文件中添加十六进制代码来完成此操作,但是我们的站点允许用户确定其自定义配置文件/站点(例如Twitter)所需的颜色。 所以,我的问题是:我们可以按百分比减少颜色吗? 假设以下代码是CSS: 要么 有没有一种方法可以减少一定

  • 问题内容: 我很好奇为什么,当我将一个数组与一个值进行比较时… …返回,而… …才不是?是一个数组 问题答案: 比较整数,因为0xFF是整数,此表达式 会将您的字节 扩展为int并将括号内的内容与第二int进行比较。至于你说的是,它将首先被调整为整数且相比于整数,所以这个作品。 将一个字节与int比较: 是一个字节(有符号),其值为。 不等于,因此这就是为什么在比较integer之前必须将data