我正在使用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的最佳方法是什么?
答案 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”。那是错误吗?