Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List Terraform-如何连接嵌套列表的元素?_List_Terraform - Fatal编程技术网

List Terraform-如何连接嵌套列表的元素?

List Terraform-如何连接嵌套列表的元素?,list,terraform,List,Terraform,我有两个列表-[“l”,“h”],[“a”,“b”],我需要从中创建一个类似的列表:[“la”,“lb”,“ha”,“hb”]-可能吗 我试过使用setproduct()、flatte()和join()但是我能得到的最接近的结果如下: > setproduct(["l","h"], ["a","b"]) [ [ "l", "a", ], [ "l", "b", ], [ "h", "a", ], [ "h"

我有两个列表-
[“l”,“h”]
[“a”,“b”]
,我需要从中创建一个类似的列表:
[“la”,“lb”,“ha”,“hb”]
-可能吗

我试过使用
setproduct()
flatte()
join()
但是我能得到的最接近的结果如下:

> setproduct(["l","h"], ["a","b"])
[
  [
    "l",
    "a",
  ],
  [
    "l",
    "b",
  ],
  [
    "h",
    "a",
  ],
  [
    "h",
    "b",
  ],
]
#
> flatten(setproduct(["l","h"], ["a","b"]))
[
  "l",
  "a",
  "l",
  "b",
  "h",
  "a",
  "h",
  "b",
]
我还可以加入单个元素:

> join("",setproduct(["l","h"], ["a","b"])[1])
lb 
但是还没有弄清楚如何从中解脱出来。有人帮忙吗


-使用chunklist、flattern、join和for循环

> [for test in chunklist(flatten(setproduct(["l","h"], ["a","b"])), 2): join("", test)]
[
  "la",
  "lb",
  "ha",
  "hb",
]

一种更简单的方法是使用两个嵌套的for表达式:

在控制台中:

>展平([对于[“l”,“h”]中的i:[对于[“a”,“b”]中的j:“${i}${j}]”)
[
“洛杉矶”,
“磅”,
“哈”,
“hb”,
]
在盐酸中:

输出“平坦”{
值=展平([
对于[“l”,“h”]中的i:[
对于[“a”,“b”]中的j:“${i}${j}”
]])
}
产出:

输出:
平面=[
“洛杉矶”,
“磅”,
“哈”,
“hb”,
]

什么版本的Terraform?
Terraform v0.12.2+provider.aws v2.16.0
谢谢@RyanKim!我根本不知道terraform中的for循环。在这种情况下,只需使用:
[对于setproduct中的测试([“l”、“h”],[“a”、“b”]):join(“,test)]
,而无需使用chunklist()和flatte()很好!for循环是在terraform 0.12.x中引入的,我仍然使用v0.11.14。所以我不擅长0.12语法。