元胞数组或列表的拆分和合并

本页目录

对元胞数组进行拆分和合并,是将元胞数组中的单个元素拆分为元胞数组,或将所有元素合并为一个元素。对列表进行拆分和合并,是将字符串用指定分隔符分割的结果放到列表,或将列表中的所有元素用指定连接符合并为一个字符串。[大谦MATLAB,dqmatlab点com]

拆分

在MATLAB中,将字符串分割为元胞数组。在Python中,将字符串用指定分隔符分割的结果放到列表。

【MATLAB】

code.matlab
>>> a='Where are you from';
>>> split(a)
ans =
  4×1 cell 数组
    {'where'}
{'are'}
{'you'}
{'from'}

【Python】

对于字符串,使用其split方法可以按指定的分隔符进行分割,分隔的结果以列表的形式返回。下面给定一个字符串,使用split函数,用默认的空格分隔符进行分割,返回一个列表。

code.python
>>> a='Where are you from'
>>> a.split()
['Where', 'are', 'you', 'from']

合并

MATLAB中,将元胞数组的所有元素合并为一个元素。Python中,将列表中的所有元素用指定连接符合并为一个字符串。

【MATLAB】

可以使用与合并普通数组类似的方式合并多个元胞数组。下面将元胞数组A1和A2合并成元胞数组A。

code.matlab
>> A1={'Hello',123,'Matlab'};
>> A2={[1 3],['a','b'],78};
>> A=[A1 A2]    %水平拼接
A =
  1×6 cell 数组
  列 15
    {'Hello'}    {[123]}    {'Matlab'}    {[1 3]}    {'ab'}
  列 6
    {[78]}
>> A=[A1;A2]    %垂直拼接
A=
    'Hello'         [123]    'Matlab'
    [1x2 double]    'ab'     [    78]

下面用join函数合并元胞数组中的字符数组。

code.matlab
>> B={'Hello','123','Matlab'};
>> join(B,'-')    %用join函数合并
ans =
  1×1 cell 数组
    {'Hello-123-Matlab'}

【Python】

使用字符串对象的join方法可以用指定的间隔符连接列表给出的多个字符串。下面用变量b将要连接的字符串用列表给出,用变量a指定分隔符,连接列表各元素。

code.python
>>> a=','
>>> b=['hello','abc','python']
>>> a.join(b)
'hello,abc,python'