在保持秩序的同时重塑python列表
如果我有一个形状如下的python列表:在保持秩序的同时重塑python列表,python,Python,如果我有一个形状如下的python列表: T = [ ['07,07,2012 22:10', ['people','drama','melody','bun']], ['08,07,2012 21:04', ['queen','group']], ['08,07,2012 21:23', ['printing','market','shopping']], ['08,07,2012 21:04', ['people','bun']], ['08,11,2012 11:14', ['kangar
T = [
['07,07,2012 22:10', ['people','drama','melody','bun']],
['08,07,2012 21:04', ['queen','group']],
['08,07,2012 21:23', ['printing','market','shopping']],
['08,07,2012 21:04', ['people','bun']],
['08,11,2012 11:14', ['kangaroo']]
]
我需要将此列表转换为以下格式:
T =[
['07,07,2012 22:10', 'people'],
['07,07,2012 22:10', 'drama'],
['07,07,2012 22:10', 'melody'],
['07,07,2012 22:10', 'bun'],
['08,07,2012 21:04', 'queen'],
['08,07,2012 21:04', 'group'],
['08,07,2012 21:23', 'printing'],
['08,07,2012 21:23', 'market'],
['08,07,2012 21:23', 'shopping'],
['08,07,2012 21:04', 'people'],
['08,07,2012 21:04', 'bun'],
[''08,11,2012 11:14'', 'kangaroo']
]
i、 e.对于其第一个子元素的长度大于1的每个元素(在原始列表T中),拆分第一个子元素(a[1],如果len(a[1]>1)
),将其作为另一个具有相同时间戳的列表追加。也许我的话缺乏解释,但上面的例子肯定解释了我需要做什么。如果您有任何帮助,我们将不胜感激。请在T:
在T上试试这个:
使用列表理解:
[(时间戳,项目)表示时间戳,T中的项目表示项目中的项目]
这将为您提供一个元组列表,这可能适用于这里。但您可以修改它以获得列表列表:
[[timestamp,item]对于timestamp,T中的items对于items中的items]
使用列表理解:
[(时间戳,项目)表示时间戳,T中的项目表示项目中的项目]
这将为您提供一个元组列表,这可能适用于这里。但您可以修改它以获得列表列表:
[[timestamp,item]对于timestamp,items in T对于items in items]
或者使用列表而不是元组来准确地获取OP请求的内容(虽然不太重要)。谢谢@flornquake。非常感谢:-)或者使用列表而不是元组来获得OP所要求的内容(虽然不太重要)。谢谢@flornquake..你艺术地总结了这一切。非常感谢:-)列表理解将越来越快。列表理解将越来越快。
def process(t):
new = []
for i in t:
for j in i[1]:
new.append([i[0], j])
return new