我想创建一个函数,它接受一个字符串列表(一个字符串,字符用逗号分隔,如果这有所不同 - 参见示例),并将每个单独的字符串创建一个新列表到一个子列表中。我认为(或希望)这是相当容易的,也许可以通过一行(在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))和其他人一样的东西,但是他们没有给我我想要的东西。
谢谢!
答案 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']]
>>>