【问题标题】:Is argmax working properly for an array of Strings?argmax 是否适用于字符串数组?
【发布时间】:2019-08-03 15:43:48
【问题描述】:

我正在使用函数 Argmax 来获取字符串数组中最大大小的字符串,当字符串包含单个字符的重复时,结果会变得很奇怪。

例如:

x = ["ABC", "AAAA"]
argmax(x) # 1
# The return of argmax is 1, is that correct ?

x = ["ABC", "AAAABBBBCCCCDDDD"]
argmax(x) # = 1

x = ["ABC", "AAAABBBBCCCCDDDD", "ABCD"]
argmax(x) # = 3

【问题讨论】:

    标签: julia argmax


    【解决方案1】:

    这里的字符串是按字典顺序比较的,而不是按它们的长度。

    因此,“ABC”被认为大于“AAAA”,因此数组 ["ABC", "AAAA"] 中的最大元素确实位于索引 1。

    如果您的目标是按长度比较字符串,您可以将length 函数应用于数组中的每个字符串,然后使用argmax。例如:

    julia> x = ["ABC", "AAAABBBBCCCCDDDD", "ABCD"]
    julia> argmax(length.(x))
    2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-05
      • 2014-07-13
      • 1970-01-01
      • 2020-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多