【问题标题】:Is there a function to "zip" two cell arrays together? [duplicate]是否有将两个单元阵列“压缩”在一起的功能? [复制]
【发布时间】:2013-11-07 17:31:51
【问题描述】:

假设我有一个元胞数组A 和B,如下:

A = {'A' 'B' 'C' 'D'};
B = {1 2 3 4 };

我想通过“压缩”A 和 B 来创建元胞数组 C,如下所示:

C = zip(A,B)
C = 
    'A' 1 'B' 2 'C' 3 'D' 4

这样的功能存在吗? (显然这样的函数写起来并不难,但懒惰是程序员最好的朋友,如果这样的函数已经存在我宁愿使用它。)

(我从 Perl 中得到这个想法,其中 List::MoreUtils 包提供了执行此操作的 zip 函数。这个名称来自于 zip 函数交错两个列表的事实,就像一个拉链。)

【问题讨论】:

    标签: arrays matlab


    【解决方案1】:

    这个怎么样:

    C = [A(:),B(:)].';   %'
    D = C(:)
    

    返回:

    D = 
    
    'A'
    [1]
    'B'
    [2]
    'C'
    [3]
    'D'
    [4]
    

    【讨论】:

    • +1 连接和转置是要走的路。
    • 那些 共轭 转置... :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    • 2012-09-23
    • 2018-10-24
    • 1970-01-01
    • 2020-06-13
    • 1970-01-01
    • 2012-10-10
    相关资源
    最近更新 更多