代码之家  ›  专栏  ›  技术社区  ›  Starbucks

在列表python中拆分单个字符串

  •  0
  • Starbucks  · 技术社区  · 6 年前

    如何在列表中拆分单个字符串?

    data = ('Esperanza Ice Cream', 'Gregory Johnson', 'Brandies bar and grill')
    

    返回:

    print(data)
    ('Esperanza', 'Ice', 'Cream', 'Gregory', 'Johnson', 'Brandies', 'bar', 'and', 'grill')
    
    3 回复  |  直到 6 年前
        1
  •  3
  •   Tim Biegeleisen    6 年前

    一种方法,使用 join split :

    items = ' '.join(data)
    terms = items.split(' ')
    print(terms)
    
    ['Esperanza', 'Ice', 'Cream', 'Gregory', 'Johnson', 'Brandies', 'bar', 'and', 'grill']
    

    这里的想法是生成一个包含所有空格分隔项的字符串。那么,我们只需要一次调用非regex版本的 分裂 以获得输出。

        2
  •  1
  •   ComplicatedPhenomenon    6 年前
    data = ('Esperanza Ice Cream', 'Gregory Johnson', 'Brandies bar and grill')
    data = [i.split(' ') for i in data]
    data=sum(data, [])
    print(tuple(data))
    #('Esperanza', 'Ice', 'Cream', 'Gregory', 'Johnson', 'Brandies', 'bar', 'and', 'grill')
    
        3
  •  0
  •   Stephen Rauch Afsar Ali    6 年前

    你可以用 itertools.chain 对于这种情况:

    代码:

    it.chain.from_iterable(i.split() for i in data)
    

    测试代码:

    import itertools as it
    
    data = ('Esperanza Ice Cream', 'Gregory Johnson', 'Brandies bar and grill')
    print(list(it.chain.from_iterable(i.split() for i in data)))
    

    结果:

    ['Esperanza', 'Ice', 'Cream', 'Gregory', 'Johnson', 'Brandies', 'bar', 'and', 'grill']
    
    推荐文章