标签: seq

Scala中Seq和List之间的区别

我在很多例子中看到有时使用Seq,而其他时候是List ......

除了前一个是Scala类型和List来自Java之外,有什么区别吗?

collections scala list seq

279
推荐指数
4
解决办法
12万
查看次数

R中重复值的顺序

这是一个非常基本的问题,但这让我烦恼,所以我问.

我需要一系列重复的数字,即1 1 ... 1 2 2 ... 2 3 3 ... 3等.我实现这个的方式是

  nyear<-20
  names<-c(rep(1,nyear),rep(2,nyear),rep(3,nyear),rep(4,nyear),
          rep(5,nyear),rep(6,nyear),rep(7,nyear),rep(8,nyear))
Run Code Online (Sandbox Code Playgroud)

哪个有效,但很笨拙,显然不能很好地扩展.如何按顺序重复N次整数M次?我尝试嵌套seq()和rep(),但这并不是我想要的.我显然可以写一个for循环来做它,但这看起来也很笨拙 - 应该有一个内在的方法来做到这一点!

r seq

71
推荐指数
2
解决办法
10万
查看次数

什么是seq_along工作的例子,但seq会产生意想不到的结果?

什么时候seq_along有效,但seq会产生意想不到的结果?

?seq我们的文档:

请注意,无论参数名称如何,它都会调度第一个参数的类.如果仅使用一个参数来调用它可能会产生意想不到的后果 along.with:这样做会更好:seq_along在这种情况下使用它会好得多.

r seq

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

Scala - Seq的大小和长度有什么区别?

Seq的大小和长度有什么区别?何时使用一个而另一个?

scala> var a :Seq[String] = Seq("one", "two")
a: Seq[String] = List(one, two)

scala> a.size
res6: Int = 2

scala> a.length
res7: Int = 2
Run Code Online (Sandbox Code Playgroud)

一样的?

谢谢

scala seq scala-2.10

60
推荐指数
5
解决办法
4万
查看次数

将项添加到不可变的Seq

说,我有一个字符串序列作为输入,我想得到一个新的不可变Seq,它由输入元素和一个项目组成"c".以下是我发现的两种方法:

  1. assert(Seq("a", "b", "c") == Seq("a", "b") ++ Seq("c"))- 这个的问题是,似乎Seq("c")仅仅为了操作而实例化临时序列()是有害的并且将导致开销
  2. assert(Seq("a", "b", "c") == List("a", "b") ::: "c" :: Nil)- 这个将输入集合的类型限制为a List,因此Seq("a", "b") ::: "c" :: Nil不起作用.此外,似乎实例化a Nil也可能导致开销

我的问题是:

  1. 有没有其他方法来执行此操作?
  2. 哪一个更好?
  3. 是不是Seq("a", "b") ::: Nil不允许Scala开发人员的缺陷?

scala list seq

52
推荐指数
1
解决办法
7万
查看次数

bash seq替换中的变量({1..10})

有可能做这样的事情:

start=1
end=10
echo {$start..$end}
# Ouput: {1..10}
# Expected: 1 2 3 ... 10 (echo {1..10})
Run Code Online (Sandbox Code Playgroud)

bash seq

50
推荐指数
4
解决办法
8万
查看次数

如何生成具有指定增量步骤的列表?

如何生成具有指定增量步长的向量(例如2)?例如,我如何生成以下内容

0  2  4  6  8  10
Run Code Online (Sandbox Code Playgroud)

r seq

43
推荐指数
3
解决办法
12万
查看次数

从矢量中选择每个其他元素

假设我有一个向量:

remove <- c(17, 18, 19, 20, 24, 25, 30, 31, 44, 45).

如何选择/提取向量中的每个第二个值?像这样:17, 19, 24, 30, 44

我正在尝试使用该seq功能:seq(remove, 2)但它不太有效.

任何帮助是极大的赞赏.

r vector seq

42
推荐指数
3
解决办法
3万
查看次数

从'A' - 'Z'生成一系列字符

我可以制作一系列这样的数字:

s = seq(from=1, to=10, by=1)
Run Code Online (Sandbox Code Playgroud)

如何从AZ制作一系列字符?这不起作用:

seq(from=1, to=10)
Run Code Online (Sandbox Code Playgroud)

ascii r character sequence seq

31
推荐指数
4
解决办法
4万
查看次数

F#,char seq - >字符串

一个快速的问题,可能更多的是一个咆哮(但我希望改为开悟).

在F#中,字符串与Seq兼容,因此"abcd"|> Seq.map f将对字符串起作用.

这是处理字符串的绝佳工具,例如从字符串中获取前5个字符:

"abcdef01234567" |> Seq.take 5
Run Code Online (Sandbox Code Playgroud)

或删除重复的字符:

"abcdeeeeeee" |> Seq.distinct
Run Code Online (Sandbox Code Playgroud)

问题是,一旦你有了char seq结果,将它再次转换回字符串变得非常尴尬,String.concat""要求成员是字符串,所以我最终做了很多:

"abcdef01234567" 
|> Seq.take 5
|> Seq.map string
|> String.concat ""
Run Code Online (Sandbox Code Playgroud)

这么多,我有90%的项目使用的功能:

let toString : char seq -> string = Seq.map string >> String.concat ""
Run Code Online (Sandbox Code Playgroud)

我觉得这已经超过了顶层,但是在我想找到另一种选择的地方,我遇到了令人发指的事情,比如StringBuilder或内联lambda并使用new:

"abcdef01234567" 
|> Seq.take 5
|> Seq.toArray 
|> fun cs -> new string (cs) (* note you cannot just |> string *)
Run Code Online (Sandbox Code Playgroud)

我希望在语言中看到的(也许是疯狂的)期望当在字符串上使用Seq时,结果表达式中的类型签名应该是字符串 - >字符串.意思是,出现的是什么."abcd"|> Seq.take 3 ="abc".

有没有理由在这种情况下我对高级字符串操作的期望是错误的?

有没有人建议以一种不错的方式接近这个,我觉得我必须遗漏一些东西.

string f# char seq

24
推荐指数
4
解决办法
1万
查看次数

标签 统计

seq ×10

r ×5

scala ×3

list ×2

ascii ×1

bash ×1

char ×1

character ×1

collections ×1

f# ×1

scala-2.10 ×1

sequence ×1

string ×1

vector ×1