拆分列表中的列表

时间:2018-05-21 16:09:18

标签: python string list

说我有这个清单

List=[[‘this’ ],[‘is’],[‘a’],[‘sentence’]]

我想拆分内部列表,所以输出看起来像这样

List=[[‘t’,’h’,’i’,’s’],[‘i’,’s’],[‘a’],[‘s’,’e’,’n’,’t’,’e’,’n’,’c’,’e’]]

我试过

print([j  for i in list for j in i ]) 

但输出为[‘this’,’is’,’a’,’sentence ‘]

3 个答案:

答案 0 :(得分:1)

您需要进行2项调整:

  1. 您有长度为1的子列表。因此,您需要访问每个子列表的索引0。
  2. 您想要的结果在结果列表中有子列表。所以你需要在你的外部列表理解中的内部列表理解
  3. 以下是一个例子:

    lst = [['this'],['is'],['a'],['sentence']]
    
    res = [[i for i in sublist[0]] for sublist in lst]
    
    print(res)
    
    [['t', 'h', 'i', 's'],
     ['i', 's'],
     ['a'],
     ['s', 'e', 'n', 't', 'e', 'n', 'c', 'e']]
    

    通过直接向list提供字符串,可以更简洁地编写内部子列表理解:

    res = [list(sublist[0]) for sublist in lst]
    

答案 1 :(得分:1)

在字符串上调用list将返回组成字符的字符列表。这可以例如在列表理解中完成:

lst = [['this'], ['is'], ['a'], ['sentence']]
result = [list(x[0]) for x in lst]

答案 2 :(得分:1)

您可以在字符串上调用list()以获取撰写字符列表:

>> list("anmol")
>> ['a', 'n', 'm', 'o', 'l']

同样,您需要将每个字符串转换为列表:

>> l = [['this' ],['is'],['a'],['sentence']]
>> [list(i[0]) for i in l]
>> [['t', 'h', 'i', 's'], ['i', 's'], ['a'], ['s', 'e', 'n', 't', 'e', 'n', 'c', 'e']]