将列表中的字符串转换为python中列表中的元素

时间:2019-01-23 14:02:43

标签: python-3.x

我正在使用python数据创建ReportLab报告。我有一个看起来像这样的列表:

mylist = [['a b c   d   e   f'],['g h i   j   k   l']] 

,并希望将其转换为如下形式:

mylist2 = [[a,b,c,d,e],[g,h,i,j,k,l]]

第一个列表在生成报告时给我一个“列表超出索引”错误。

第二个列表可在ReportLab中使用,但此列表中的列和格式不是我想要的。

在python中将mylist 1转换为mylist2的最佳方法是什么?

3 个答案:

答案 0 :(得分:1)

要列出的字符串可以使用split()方法完成。

尝试mylist[1][0].split()mylist[0][0].split()

答案 1 :(得分:0)

mylist = [['a b c   d   e   f'],['g h i   j   k   l']]
import re
space_re = re.compile(r'\s+')
output = []
for l in mylist:
    element = l[0]
    le = re.split(space_re, element)
    output.append(le)

这不是最佳答案,但可以正常工作。!

答案 2 :(得分:0)

从吉宾·马修斯(Jibin Mathews)借来的想法,我尝试了以下方法

new_list = [mylist[0][0].split(), mylist[1][0].split()]

它会打印

[['a', 'b', 'c', 'd', 'e', 'f'], ['g', 'h', 'i', 'j', 'k', 'l']]

我发现您的最终列表中缺少“ f”。那是错误吗?