Python 内容相等的拆分列表

Python 内容相等的拆分列表,python,Python,例如,我有以下列表: contents= ["i have two pens","prices = 5$","made in ____ and ____"] 我想将其拆分为以下内容: array[0]= ["i", "have", "two", "pens", ""] array[1]= ["prices", "=", "5$", " ", " "] array[2]= ["made", "in", "____", "and" ,"____"] 这意味着,每个数组具有相同数量的内容(此处为5

例如,我有以下列表:

contents= ["i have two pens","prices = 5$","made in ____ and ____"]
我想将其拆分为以下内容:

array[0]= ["i", "have", "two", "pens", ""]
array[1]= ["prices", "=", "5$", " ", " "]
array[2]= ["made", "in", "____", "and" ,"____"]
这意味着,每个数组具有相同数量的内容(此处为5)。我使用的代码是:

array = [phrase.split() for phrase in contents]

但肯定的是,它并没有以相同的内容将它们分开。有谁能建议我如何使用python解决这个问题吗?

您需要检查哪个数组最长,然后填充其他数组,如下所示:

array = [phrase.split() for phrase in contents]
x = max(len(i) for i in array)
result = [i + [''] * (x - len(i)) for i in array]

很复杂,但会给出您想要的结果。

您需要检查哪个阵列最长,然后填充其他阵列,如下所示:

array = [phrase.split() for phrase in contents]
x = max(len(i) for i in array)
result = [i + [''] * (x - len(i)) for i in array]

很复杂,但会给出您想要的结果。

您需要检查哪个阵列最长,然后填充其他阵列,如下所示:

array = [phrase.split() for phrase in contents]
x = max(len(i) for i in array)
result = [i + [''] * (x - len(i)) for i in array]

很复杂,但会给出您想要的结果。

您需要检查哪个阵列最长,然后填充其他阵列,如下所示:

array = [phrase.split() for phrase in contents]
x = max(len(i) for i in array)
result = [i + [''] * (x - len(i)) for i in array]

很复杂,但会给你想要的结果。

这是另一种选择,可能也很复杂

from itertools import izip_longest

array = [phrase.split() for phrase in contents]
l = izip_longest(*array, fillvalue=u'')
result = [list(t) for t in zip(*l)]

这是另一种选择,可能也很复杂

from itertools import izip_longest

array = [phrase.split() for phrase in contents]
l = izip_longest(*array, fillvalue=u'')
result = [list(t) for t in zip(*l)]

这是另一种选择,可能也很复杂

from itertools import izip_longest

array = [phrase.split() for phrase in contents]
l = izip_longest(*array, fillvalue=u'')
result = [list(t) for t in zip(*l)]

这是另一种选择,可能也很复杂

from itertools import izip_longest

array = [phrase.split() for phrase in contents]
l = izip_longest(*array, fillvalue=u'')
result = [list(t) for t in zip(*l)]

一个快速演示,用于扩展我的评论,使用:


您不需要修改
数组
,当您迭代子列表时,这将为您提供支持

一个快速演示,用于扩展我的评论,使用:


您不需要修改
数组
,当您迭代子列表时,这将为您提供支持

一个快速演示,用于扩展我的评论,使用:


您不需要修改
数组
,当您迭代子列表时,这将为您提供支持

一个快速演示,用于扩展我的评论,使用:



您不需要修改
数组
,当您迭代子列表时,这将为您提供支持

你能解释一下你为什么想要这个吗;这可能是一个XY问题。例如,
itertools.izip_longest
可以在不干扰拆分的情况下解决它,因为我想使用循环。我在一个数组中只有一个内容(例如数组[5])。因此,当它迭代数组[i][1]时,会出现错误“IndexError:list index out of range”,因为没有数组[5][1]。这并不是我所希望的更广泛的视图,但它看起来像是:您希望同时迭代所有列表,查看每个列表中的
i
th元素,但需要填充较短的列表。为什么第一个列表中填充了空字符串,第二个列表中填充了一个空格字符串?你能解释一下为什么要这样做吗;这可能是一个XY问题。例如,
itertools.izip_longest
可以在不干扰拆分的情况下解决它,因为我想使用循环。我在一个数组中只有一个内容(例如数组[5])。因此,当它迭代数组[i][1]时,会出现错误“IndexError:list index out of range”,因为没有数组[5][1]。这并不是我所希望的更广泛的视图,但它看起来像是:您希望同时迭代所有列表,查看每个列表中的
i
th元素,但需要填充较短的列表。为什么第一个列表中填充了空字符串,第二个列表中填充了一个空格字符串?你能解释一下为什么要这样做吗;这可能是一个XY问题。例如,
itertools.izip_longest
可以在不干扰拆分的情况下解决它,因为我想使用循环。我在一个数组中只有一个内容(例如数组[5])。因此,当它迭代数组[i][1]时,会出现错误“IndexError:list index out of range”,因为没有数组[5][1]。这并不是我所希望的更广泛的视图,但它看起来像是:您希望同时迭代所有列表,查看每个列表中的
i
th元素,但需要填充较短的列表。为什么第一个列表中填充了空字符串,第二个列表中填充了一个空格字符串?你能解释一下为什么要这样做吗;这可能是一个XY问题。例如,
itertools.izip_longest
可以在不干扰拆分的情况下解决它,因为我想使用循环。我在一个数组中只有一个内容(例如数组[5])。因此,当它迭代数组[i][1]时,会出现错误“IndexError:list index out of range”,因为没有数组[5][1]。这并不是我所希望的更广泛的视图,但它看起来像是:您希望同时迭代所有列表,查看每个列表中的
i
th元素,但需要填充较短的列表。为什么第一个列表中填充了空字符串,第二个是一个空格字符串?我怀疑
itertools.izip\u longest
是OP在这里寻找的。我怀疑
itertools.izip\u longest
是OP在这里寻找的。我怀疑
itertools.izip\u longest
是OP在这里寻找的。我怀疑
itertools.izip\u longest
这才是OP想要的。