如何在Bash中将数组作为元素追加到另一数组中
嵌套列表追加实现方案
核心逻辑:你需要的不是把(1 2)的元素展开拼接进(1 1),而是将两个列表各自作为独立元素,放入同一个外层列表中,得到目标嵌套结构。
以下是不同常用语言的实现方式:
Lisp/Scheme 语言
- 直接构造:调用
list函数包裹两个子列表即可
代码:(list (list 1 1) (list 1 2)) - 动态追加:如果已有子列表
(1 1),要追加(1 2),可以用append方法,注意要把待追加的子列表先包裹一层列表避免展开
代码:(append (list (list 1 1)) (list (list 1 2)))
Python 语言
- 直接构造:
a = [1, 1] b = [1, 2] res = [a, b] - 动态追加:
a = [1, 1] b = [1, 2] res = [a] res.append(b)
JavaScript 语言
- 直接构造:
const a = [1, 1] const b = [1, 2] const res = [a, b] - 动态追加:
const a = [1, 1] const b = [1, 2] const res = [a] res.push(b)
注意不要错误使用扁平化拼接方法,比如Python的
a + b、JS的a.concat(b)都会得到扁平化的[1,1,1,2],无法得到嵌套结构。
内容的提问来源于stack exchange,提问作者SSH
相关产品推荐
相关产品推荐

