Python在列表列表中拆分字符串

时间:2013-11-12 11:25:16

标签: python list

我目前有一份清单清单:

[['Hi my name is'],['What are you doing today'],['Would love some help']]

我想在列表中拆分字符串,同时保留在当前位置。例如

[['Hi','my','name','is']...].. 

我该怎么做?

另外,如果我想在搜索之后使用特定的列表,请说我搜索“正在进行”,然后想要将某些内容添加到该特定列表中。我将如何进行此操作?< / p>

3 个答案:

答案 0 :(得分:4)

您可以使用列表推导来创建包含所有句子的新列表列表:

[lst[0].split() for lst in list_of_lists]

现在你可以遍历这个并找到符合条件的列表:

for sublist in list_of_lists:
    if 'doing' in sublist:
        sublist.append('something')

或不敏感地搜索大小写,使用any()和生成器表达式;这将是找到匹配项的最小字数:

for sublist in list_of_lists:
    if any(w.lower() == 'doing' for w in sublist):
        sublist.append('something')

答案 1 :(得分:1)

list1 = [['Hi my name is'],['What are you doing today'],['Would love some help']]

使用

[i[0].split() for i in list1]

然后你会得到像

这样的输出
[['Hi', 'my', 'name', 'is'], ['What', 'are', 'you', 'doing', 'today'], ['Would', 'love', 'some', 'help']]

答案 2 :(得分:0)

l = [['Hi my name is'],['What are you doing today'],['Would love some help']]

for x in l:
    l[l.index(x)] = x[0].split(' ')

print l

或者简单地说:

l = [x[0].split(' ') for x in l]

输出

[['Hi', 'my', 'name', 'is'], ['What', 'are', 'you', 'doing', 'today'], ['Would', 'love', 'some', 'help']]