标签: flatten

如何在传递给 @csv 过滤器之前使用嵌套结构展平 JSON

我正在尝试解析一些 JSON,它是 AWS CLI 命令的输出以显示快照。我想将这些数据加载到电子表格中,以便能够对其进行过滤、分组和审核。

我一直困惑于如何将嵌套的 Tags 数组展平到父对象中,以便可以将中间对象传递到 @csv 过滤器。

这是示例:

初始输入 JSON:

{
  "Snapshots": [
    {
      "SnapshotId": "snap-fff",
      "StartTime": "2014-04-01T06:00:13.000Z",
      "VolumeId": "vol-fff",
      "VolumeSize": 50,
      "Description": "desc1",
      "Tags": [
        {
          "Value": "/dev/sdf",
          "Key": "device"
        },
        {
          "Value": "a name",
          "Key": "Name"
        },
        {
          "Value": "Internal",
          "Key": "Customer"
        },
        {
          "Value": "Demo",
          "Key": "Environment"
        },
        {
          "Value": "Brand 1",
          "Key": "Branding"
        },
        {
          "Value": "i-fff",
          "Key": "instance_id"
        }
      ]
    },
    {
      "SnapshotId": "snap-ccc",
      "StartTime": "2014-07-01T05:59:14.000Z",
      "VolumeId": "vol-ccc",
      "VolumeSize": 8,
      "Description": "B …
Run Code Online (Sandbox Code Playgroud)

nested flatten jq

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

Array.flat(Infinity) 的正确输入

我了解了新Array.flat方法,并认为我会用它来尝试一下,但返回的类型不是所需的。

const hello = [1, 2, [3], [[4]]]

const x = hello.flat(Infinity)
Run Code Online (Sandbox Code Playgroud)

这将x的类型设置为:

const x: (number | number[] | number[][])[]
Run Code Online (Sandbox Code Playgroud)

我怎样才能拥有这个呢number[]

flatten typescript

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

方案:是否可以将 S 表达式列表转换为原子列表?

我试图将一个 S 表达式列表转换为一个简单的原子列表,类似于The Little Schemer一书中问题。

我的代码是(在 Dr.Racket 中输入):

> (define lat '((coffee) cup ((tea) cup) (and (hick)) cup))
> (define f
    (lambda (lat)
      (cond
        ((null? lat) (quote ()))
        ((atom? (car lat)) (cons (car lat) (f (cdr lat))))
        (else (cons (f (car lat)) (f (cdr lat)))))))
> (f lat)
'((coffee) cup ((tea) cup) (and (hick)) cup)
Run Code Online (Sandbox Code Playgroud)

上面的代码返回与输入列表相同的列表。我尽力了,但得到了不同的答案,例如:

(coffee)
(cup . cup)
( () (()) (()) )
Run Code Online (Sandbox Code Playgroud)

用于程序中的各种修改。

我想知道,我们能不能得到答案:

'(coffee cup tea cup and hick cup)
Run Code Online (Sandbox Code Playgroud)

给予

'((coffee) …
Run Code Online (Sandbox Code Playgroud)

lisp recursion scheme flatten the-little-schemer

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

Scala展平深度函数混淆

我对有关此功能的文档/提供的使用示例感到有些困惑。是否flatten只能发生一次?喜欢

List(List(1, 2), List(3, List(4, 5, 6))) -> List(1, 2, 3, List(4, 5, 6))
Run Code Online (Sandbox Code Playgroud)

或者您以某种方式指定展平的深度,以便它可以成为List(1, 2, 3, 4, 5, 6)?

因为,例如,在 JS 中,函数似乎可以flat()进入一维数组的任何深度。Scala 能flatten做到这一点还是只能提升一次?

我正在尝试自己重新创建该功能,并希望模仿所需的行为并了解其工作方式可能不同的原因。

iterable scala flatten scala-collections

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

在lisp中展平列表

所以我一直在考虑在lisp中展平列表.

但是,我想要做的是逐级压缩列表.

所以没有

(flatten '(a (b (d (g f))) e)) = (a b d g f e)

我想要

(flatten '(a (b (d (g f))) e)) = (a b (d (g f )) e )

关于如何做这个家伙的任何想法?

非常感谢=)

lisp list flatten

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

Rails速度很快

我正在从YAML文件加载配置.

我有一个看起来像这样的哈希: {:first=>{:abc=>[["one", "two", "three"]], :def => [["one", "two", "three"]]}, :second=>{:abc=>[["one", "two", "three"]]}}

但我想得到:

{:first=>{:abc=>["one", "two", "three"], :def => ["one", "two", "three"]}, :second=>{:abc=>["one", "two", "three"]}}
Run Code Online (Sandbox Code Playgroud)

即展平端阵列.结构不会比这里显示的任何"更深".

单行代码是首选.

ruby arrays hash ruby-on-rails flatten

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

如何在此列中展平值以分隔R中的列

我有一些数据,如下所示

"ID","PROD"
"1001658",6619
"100288",11843
"100288",20106
"1004303",921
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为类似的格式

"ID","PROD_6619","PROD_11843","PROD_20106","PROD_921"
"1001658",1,0,0,0
"100288",0,1,1,0
"1004303",0,0,0,1
Run Code Online (Sandbox Code Playgroud)

基本上,原始数据集中PROD列中的每个值都在它自己的单独列中.请注意,上面的数据集只是一个示例,我不能硬编码为"PROD_6619","PROD_11843","PROD_20106","PROD_921".它可能会更多.

我尝试使用for循环迭代地编写这个,对于我庞大的数据集来说它非常慢.

你能在R中建议我一个替代方案

r flatten sapply

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

Scala:生成Ints元组

我想生成一个两个Int元组的Vector.现在,我做如下:

(0 until 100).map(x => (x+1 until 100).map(y => (x,y))).flatten.filter { ... }
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更有效的方法来做到这一点.我觉得"扁平化"会减慢代码的速度.我必须使用"展平"还是可以使用其他东西?

PS1:如果我不使用"flatten",我有:Vector(Vector(a,b),Vector(c,d),...)而不是Vector((a,b),(c,d) ,...).

PS2:我在第二个生成器中使用(x + 1到100)因为我对元组(a,b)和(b,a)不感兴趣.

scala vector flatten

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

扁平化在keras的顺序模型中做什么

我正在用顺序模型研究keras。

model = Sequential()
model.add(Embedding(max_features, 128, input_length=text_max_words))
model.add(Flatten())
model.add(Dense(256, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
Run Code Online (Sandbox Code Playgroud)

Flatten在这里做什么?

flatten neural-network keras keras-layer

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

平面地图列表不会丢失映射?

我有一个现有的dict,它将单个值映射到列表.我想反转这个字典并从原始键上的每个列表条目映射.列表条目是唯一的.

鉴于:

dict { 1: ['a', 'b'], 2: ['c'] }
Run Code Online (Sandbox Code Playgroud)

结果:

dict { 'a' : 1, 'b' : 1, 'c' : 2 }
Run Code Online (Sandbox Code Playgroud)

如何才能做到这一点?

python dictionary flatten

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