标签: indexof

为什么Scala的indexOf(在List等中)返回Int而不是Option [Int]?

我想编写非常好看的惯用Scala代码,list indexOf foo getOrElse Int.MaxValue但现在我必须满足于寻找愚蠢的Java代码val result = list indexOf foo; if (result < 0) Int.MaxValue else result.是否有充分的理由indexOf在Scala中返回Int而不是Option[Int]

scala api-design indexof standard-library scala-collections

6
推荐指数
2
解决办法
1879
查看次数

我的函数返回一个包含单个整数的列表,如何让它只返回整数?

如何在保持函数单行代码的同时从结果中删除括号?

day_list = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]

def day_to_number(inp):
    return [day for day in range(len(day_list)) if day_list[day] == inp]

print day_to_number("Sunday")
print day_to_number("Monday")
print day_to_number("Tuesday")
print day_to_number("Wednesday")
print day_to_number("Thursday")
print day_to_number("Friday")
print day_to_number("Saturday")
Run Code Online (Sandbox Code Playgroud)

输出:

[0]
[1]
[2]
[3]
[4]
[5]
[6]
Run Code Online (Sandbox Code Playgroud)

python list-comprehension list indexof

6
推荐指数
2
解决办法
241
查看次数

在字节数组中查找字节序列

我有一个字节数组,希望找到一些字节的"出现".

例如,00 69 73 6F 6D在一个非常大的字节数组(> 50/100兆字节)

要么

更好的反向操作:在不知道代码的情况下搜索最常见的模式,代码应该能够从文件中读取并找到它.

c# indexof

6
推荐指数
1
解决办法
2139
查看次数

IndexError:无法将“int”放入索引大小的整数中

所以我试图让我的程序从文本文件中打印出每个单词和标点符号的索引(当它出现时)。我已经完成了那部分。- 但问题是当我尝试使用这些索引位置重新创建带有标点符号的原始文本时。这是我的代码:

with open('newfiles.txt') as f:
    s = f.read()
import re
#Splitting string into a list using regex and a capturing group:
matches = [x.strip() for x in re.split("([a-zA-Z]+)", s) if x not in ['',' ']]
print (matches)
d = {} 
i = 1
list_with_positions = []
# the dictionary entries:
for match in matches:
    if match not in d.keys():
        d[match] = i
        i+=1
    list_with_positions.append(d[match])

print (list_with_positions)
file = open("newfiletwo.txt","w")
file.write (''.join(str(e) for e in list_with_positions))
file.close()
file = open("newfilethree.txt","w") …
Run Code Online (Sandbox Code Playgroud)

python runtime-error list append indexof

6
推荐指数
1
解决办法
2万
查看次数

有没有像“firstIndexOf”这样的代码?

String xStr = "hello/master/yoda";
String remv_last = xStr.substring(0, xStr.lastIndexOf("/"))
System.out.println(remv_last);
Run Code Online (Sandbox Code Playgroud)

输出

hello/master
Run Code Online (Sandbox Code Playgroud)

我的问题是;我怎样才能得到这个输出,谢谢你的帮助。

master/yoda
Run Code Online (Sandbox Code Playgroud)

string indexof

6
推荐指数
1
解决办法
8424
查看次数

为什么 index-of() 在应用于一系列唯一节点时会返回多个值?

我正在使用 xpath2 的索引值来返回排序的节点序列中的 current() 索引。使用 SAXON,节点的排序序列是唯一的,但 index-of 返回两个值的序列。

这不会一直发生,只是偶尔发生,但我找不到任何原因。有人可以解释一下发生了什么吗?

我已经根据例程给出这种奇怪行为的数据示例编写了一个最小示例。

源数据为:

<data>
<student userID="1" userName="user1"/>
<session startedOn="01/16/2012 15:01:18">
</session>
<session startedOn="11/16/2011 13:31:33">
</session>
</data>
Run Code Online (Sandbox Code Playgroud)

我的 xsl 文档将会话节点放入根模板最顶部的排序序列 $orderd 中:

<xsl:template match="/">
<xsl:variable name="nodes" as="node()*" select="/data/session"></xsl:variable>
<xsl:variable name="orderd" as="node()*">
<xsl:for-each select="$nodes">
<xsl:sort select="xs:dateTime(xs:dateTime(concat(substring(normalize-space(@startedOn),7,4),'-',substring(normalize-space(@startedOn),1,2),'-',substring(normalize-space(@startedOn),4,2),'T',substring(normalize-space(@startedOn),12,8)))
)" order="ascending"/>
    <xsl:sequence select="."/>
</xsl:for-each>
</xsl:variable>
Run Code Online (Sandbox Code Playgroud)

由于节点已经由@startOn 排序,但顺序相反,序列 $orderd 应该与文档排序序列 $nodes 相同,但顺序相反。

当我使用 for-each 语句创建输出时,我发现在使用 index-of 测试时,这两个节点以某种方式被视为相同。

下面的代码用于输出数据(并且紧跟在上面的块之后):

<output>
<xsl:for-each select="$nodes">
<xsl:sort select="position()" order="descending"></xsl:sort>
<xsl:variable name="index" select="index-of($orderd,current())" as="xs:integer*"></xsl:variable>
<xsl:variable name="pos" select="position()"></xsl:variable>        
<session reverse-documentOrder="{$pos}"  sortedOrder="{$index}"/>
</xsl:for-each>
</output>
Run Code Online (Sandbox Code Playgroud)

正如输出(如下所示)所示,index-of 函数返回序列 …

sequences saxon indexof xslt-2.0 xpath-2.0

5
推荐指数
1
解决办法
2083
查看次数

如何获取数组中所有出现相同值的索引?

我在重复某些值的数组中使用一组数值。我想找到所有重复值出现的索引。

例如,我使用以下代码indexOf()

var dataset = [2,2,4,2,6,4,7,8];
return dataset.indexOf(2);
Run Code Online (Sandbox Code Playgroud)

但这仅给出了第一次出现的索引2。(即它返回值0。)

但是,我希望2返回所有出现的索引(即0,1,3)。我怎样才能做到这一点?(我知道我可以使用for循环,但我想知道是否有更好的方法来做到这一点,而无需遍历整个数组。基本上,我试图节省显式遍历整个数组的开销。)

javascript arrays indexof

5
推荐指数
1
解决办法
6933
查看次数

我可以让indexOf以不同的方式比较对象吗?

我想使用indexOf,但 中的对象List不会是相等的对象,但它们的值相等(即它们相等但不相等)。

我想以indexOf与方法不同的方式进行比较Object.equals。我正在考虑重写 equals 方法以使用 isEquivalent 方法,但我不确定如何执行此操作(如果可能的话)。

我已经尝试了很多变体,但不断收到错误:

List<CustomType> items{
        @Override
        public boolean equals(Object o)
        {
             return false;
        }
    }
    = //stuff to populate it
Run Code Online (Sandbox Code Playgroud)

我也看到了这个答案,他们谈论 EqualityComparer's java 中是否有类似的东西?

或者还有其他方法可以实现这一点吗?

java equality equals indexof

5
推荐指数
1
解决办法
4842
查看次数

在powershell中获取文件名中正则表达式的索引

我正在尝试获取文件夹名称中正则表达式匹配的起始位置。

dir c:\test | where {$_.fullname.psiscontainer} | foreach {
$indexx = $_.fullname.Indexofany("[Ss]+[0-9]+[0-9]+[Ee]+[0-9]+[0-9]")
$thingsbeforeregexmatch.substring(0,$indexx)
}
Run Code Online (Sandbox Code Playgroud)

理想情况下,这应该可行,但由于 indexofany 不处理正则表达式,所以我陷入了困境。

regex powershell substring indexof

5
推荐指数
2
解决办法
1万
查看次数

如何在 Rust 中查找从特定索引开始的子字符串?

Rust 的标准库中是否有一个find函数可以搜索从字符串中给定索引开始的子字符串?就像indexOfJavaScript 中一样。

indexof rust

5
推荐指数
1
解决办法
7497
查看次数