获取字符串列表并将每个字符串作为子列表创建一个新列表

时间:2017-11-13 04:35:20

标签: python python-3.x

我想创建一个函数,它接受一个字符串列表(一个字符串,字符用逗号分隔,如果这有所不同 - 参见示例),并将每个单独的字符串创建一个新列表到一个子列表中。我认为(或希望)这是相当容易的,也许可以通过一行(在for循环下)完成,但无法弄明白。

例如:

  List = ['a, b, c', 'hello, 1, 2, 3', '7, 8, hi']
  function(List) = [['a, b, c'], ['hello, 1, 2, 3'], ['7, 8, hi']]

目前,我的功能如下:

    result = []
   for string in L:
       ?????
   return result

但我不知道该把什么放在????线。我尝试过像result.append(list(string))和其他人一样的东西,但是他们没有给我我想要的东西。

谢谢!

2 个答案:

答案 0 :(得分:2)

你可以这样做,使用函数内的列表推导:

def make_sub(seq):
    return [[elt] for elt in seq]


seq = ['a, b, c', 'hello, 1, 2, 3', '7, 8, hi']
print(make_sub(seq))

输出:

[['a, b, c'], ['hello, 1, 2, 3'], ['7, 8, hi']]

答案 1 :(得分:1)

>>> foo = ['a, b, c', 'hello, 1, 2, 3', '7, 8, hi']
>>> map(lambda x: x.split(", "), foo)
[['a', 'b', 'c'], ['hello', '1', '2', '3'], ['7', '8', 'hi']]
>>>