标签: concatenation

Scala:模式匹配+字符串连接

我有一个简单的递归函数将布尔值列表转换为字符串:

def boolsToString(lst: List[Boolean]): String = lst match {
    case Nil => ""
    case x::xs => x match {
      case false => "0" + boolsToString(xs)
      case true => "1" + boolsToString(xs)
    }
  }
Run Code Online (Sandbox Code Playgroud)

这可行,但我不喜欢重复 boolsToString。我只想进行一次字符串连接(在大小写之后):

  def boolsToString2(lst: List[Boolean]): String = lst match {
    case Nil => ""
    case x::xs => x match {
      case false => "0"
      case true => "1"
    } + boolsToString2(xs)
  }
Run Code Online (Sandbox Code Playgroud)

但这被 Scala 编译器拒绝:“';' 符合预期,但找到了标识符。”

在这种情况之后,还有另一种方法可以只进行一次字符串连接吗?

scala concatenation pattern-matching

0
推荐指数
1
解决办法
1364
查看次数

连接两个不同列表中的字符串

我需要在 python 中连接两个不同的字符串列表。

例如:

list1 = ['A','B','C']
list2 = ['D', 'E']
Run Code Online (Sandbox Code Playgroud)

我想获得

list3 = ['AD', 'AE', 'BD', 'BE', 'CD', 'CE']
Run Code Online (Sandbox Code Playgroud)

我试过了:

list3 = zip(list1,list2)
Run Code Online (Sandbox Code Playgroud)

它返回

list3 = [('A','D'), ('B','E')]
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

list(itertools.product(list1, list2))

但它返回

[('A','D'),('A','E'),...,('C','E')] 而不是 ['AD', 'AE', 'BD', 'BE'、'CD'、'CE']

任何想法?谢谢

python string list concatenation cartesian-product

0
推荐指数
1
解决办法
3245
查看次数

Google Sheets 将二维数组连接成单列并同时排序

我想知道是否可能,如果可能的话,如何将 8 列和 300 多行的数组转换为排序的、串联的一维数组,其中每行都是 8 列中内容的串联。我还想使用一个公式来实现这一点。

例子:

leg | dog | tom | jon | bar |     |     |     |
foo | bin | git | hub | bet | far | day | bin |
...
Run Code Online (Sandbox Code Playgroud)

将转换为:

bar dog jon leg tom
bet bin bin day far foo git hub
...
Run Code Online (Sandbox Code Playgroud)

我可以使用以下方法实现单行:

=arrayformula(CONCATENATE(transpose(sort(transpose(F2:M2),1,1))&" "))
Run Code Online (Sandbox Code Playgroud)

只要 8 列从 F 到 M,我就可以将此公式复制 300 多次,这很容易做到,但我想要一个填充n行的公式。

这可以实现还是我必须复制公式?

arrays concatenation google-sheets

0
推荐指数
1
解决办法
7534
查看次数

如何通过多个字段连接获得elasticsearch聚合

我想通过两个或多个字段进行ES聚合,但不是一一聚合,而是将这些字段concat()为一个新字段,并按这些新字段进行聚合,那么如何做到这一点呢?谢谢

aggregate concatenation elasticsearch

0
推荐指数
1
解决办法
2297
查看次数

在pytorch中连接两个不同形状的火炬张量

我有两个火炬张量。一种有形[64, 4, 300],一种有形[64, 300]。如何连接这两个张量以获得 shape 的合成张量[64, 5, 300]。我知道tensor.cat用于此的函数,但为了使用该函数,我需要重塑第二个张量以匹配张量的维数。我听说不应该对张量进行整形,因为它可能会弄乱张量中的数据。我该如何进行这种连接?

我试过重塑,但接下来的部分让我对这种重塑更加怀疑。

a = torch.rand(64,300)

a1 = a.reshape(64,1,300)

list(a1[0]) == list(a)
Out[32]: False
Run Code Online (Sandbox Code Playgroud)

concat concatenation torch pytorch tensor

0
推荐指数
1
解决办法
2111
查看次数

字符串串联以防止两个字符串在内存中移动

为了连接两个字符串,内存管理器将尝试重新分配一个字符串的内存位置,以便另一个字符串能够适应内存中紧挨着它的另一个字符串。 /sf/answers/2380573961/迭代字符串追加的时间复杂度实际上是 O(n^2) 还是 O(n)? 如果它不能就地重新分配,那么它必须将两者都移动到一个新的内存位置。

问题是为了避免将两个字符串移动到新内存位置的这种开销,是否有一种首选的、有效的方法在 Python 中连接两个字符串。我正在考虑使用 StringIO 使其成为文本缓冲区?你怎么看?

python string concatenation

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

递归函数中的 CPP 向量串联

我有这个递归函数,它不会编译在向量连接行给出错误。

    vector<int> binaryInsert(vector<int> subArray, int subArraySize, int nextVal) {
    if(subArraySize == 1)
    {
        if(nextVal >= subArray[0]) subArray.insert(subArray.begin()+1, nextVal);
        else subArray.insert(subArray.begin(), nextVal);
        return subArray;
    }
    else if(subArraySize == 2)
    {
        if(nextVal >= subArray[0]) {
            if(nextVal >= subArray[1]) subArray.insert(subArray.begin()+2, nextVal);
            else subArray.insert(subArray.begin()+1, nextVal);
        }
        else subArray.insert(subArray.begin(), nextVal);
        return subArray;
    }
    else
    {
        if(subArraySize%2 == 1)
        {
            int halfPoint = (subArraySize-1)/2;
            vector<int> leftSubArray(subArray.begin(), subArray.begin()+halfPoint);
            vector<int> rightSubArray(subArray.begin()+halfPoint, subArray.end());
            vector<int> newVec;
            if(nextVal <= leftSubArray[halfPoint-1]) {
                newVec = binaryInsert(leftSubArray, halfPoint, nextVal);
                return newVec.insert(newVec.end(), rightSubArray.begin(), rightSubArray.end());
            } …
Run Code Online (Sandbox Code Playgroud)

c++ vector concatenation c++14

0
推荐指数
1
解决办法
60
查看次数

如何编写将元素插入排序列表的 Haskell 函数

我尝试过这样的事情,但它不起作用我想要它做什么。我是 Haskell 的新手,我真的不知道该怎么做,还有什么问题。

 insert a (x:xs) = insert2 a (x:xs) []
            where insert2 el (x:xs) hd =
                    if (x:xs) == [] 
                        then []
                    else if ( a>=x && a < head(xs)) 
                        then hd ++ [x] ++ [a] ++ xs
                    else insert2 a xs hd++[x]
     
    main = do
        let list =[1 ,2 ,3 ,4 ,5 ,6]
        let out = insert 2 list
        print out
Run Code Online (Sandbox Code Playgroud)

我得到的输出是 [2,2,3,4,5,6,1]

haskell list concatenation

0
推荐指数
2
解决办法
94
查看次数

如何在 SQL (Snowflake) 中连接不同行中的两个字符串?

所以我在雪花中有如下数据:

   Question       Answer    ID
First name?         John   001
 Last name?        Smith   001
First name?         Avon   002
 Last name?    Barksdale   002
First name?     Stringer   003
 Last name?         Bell   003
Run Code Online (Sandbox Code Playgroud)

无论如何,CONCATENATE这些对以下内容有影响吗?

ID       Full_Name
001     John Smith
002 Avon Barksdale
003  Stringer Bell

Run Code Online (Sandbox Code Playgroud)

sql concatenation snowflake-cloud-data-platform

0
推荐指数
1
解决办法
30
查看次数

如何将列表与交替元素合并?

我们有两个列表list1 = [10,30,50]list2 = [2,4,6],我们想要输出[10,2,30,4,50,6](相对于[10,30,50,2,4,6],它更容易生成)。列表可能很长,因此手动解决方案list1[0] + list2[0] + list1[1] + ...对我们来说不可行。

python concatenation

0
推荐指数
1
解决办法
49
查看次数