Python 取消显示/分解包含不均匀子列表的列表/元组

Python 取消显示/分解包含不均匀子列表的列表/元组,python,pandas,list,Python,Pandas,List,我有一个包含不均匀子列表(SQLAlchemy的查询结果)的列表/元组,如下所示: x = [('x', [1,2], [3,4])] [(u'x.x@gmail.com', u'Contact Info Refused/Not provided was Documented', 0L, [None, None, None], [1447748, 1447751, 1447750], 3L, [1491930], 'nce', 1, 2037)] 我想取消显示/分解x,如下所示: x =

我有一个包含不均匀子列表(SQLAlchemy的查询结果)的列表/元组,如下所示:

x = [('x', [1,2], [3,4])]
[(u'x.x@gmail.com', u'Contact Info Refused/Not provided was Documented', 0L, 
[None, None, None], [1447748, 1447751, 1447750], 3L, [1491930], 'nce', 1, 2037)]

我想取消显示/分解
x
,如下所示:

x = [('x',[1],[3]),('x',[2],[4])]
df = pd.DataFrame(x, columns=['X','A','B'])
df = df.apply(lambda x: x.explode() if x.name in ['A', 'B'] else x)
print([tuple(i) for i in df.values.tolist()])

我可以通过以下方式使用
pandas
dataframes实现这一点:

x = [('x',[1],[3]),('x',[2],[4])]
df = pd.DataFrame(x, columns=['X','A','B'])
df = df.apply(lambda x: x.explode() if x.name in ['A', 'B'] else x)
print([tuple(i) for i in df.values.tolist()])
这将生成以下输出:

[('x', 1, 3), ('x', 2, 4)]
然而,我很想知道是否有任何纯python的解决方案是可能的。我一直在玩弄基于以下内容的列表理解,运气不好

[item for sublist in x for item in sublist]
任何帮助都将不胜感激

编辑

我的输入如下所示:

x = [('x', [1,2], [3,4])]
[(u'x.x@gmail.com', u'Contact Info Refused/Not provided was Documented', 0L, 
[None, None, None], [1447748, 1447751, 1447750], 3L, [1491930], 'nce', 1, 2037)]

预期产出:

只需打开两个子列表并保持所有内容不变

[(u'x.x@gmail.com',u'Contact Info Refused/Not provided was Documented','0L',None,1447748,3L,[1491930],'nce',1,2037),
,(u'x.x@gmail.com',u'Contact Info Refused/Not provided was Documented','0L',None,1447751,3L,[1491930],'nce',1,2037),
(u'x.x@gmail.com',u'Contact Info Refused/Not provided was Documented','0L',None,1447750,3L,[1491930],'nce',1,2037))    ]

itertools

import itertools
list(itertools.zip_longest(*x[0],fillvalue=x[0][0]))
Out[25]: [('x', 1, 3), ('x', 2, 4)]

# [list(itertools.zip_longest(*x[0],fillvalue=x[0][0])) for x in sublist]

谢谢你的回答。它适用于这个例子。但是,如果我的输入是这样的:
x=[('x','y',[1,2],[3,4])]
。我认为它没有给出正确的输出。@Grayrigel您可能需要查看实际数据,找到用于编写特殊转换的基本格式,以及预期的输出是什么?@MadPhysicast我很抱歉以前没有添加。添加了预期的输出。我感兴趣的是通过保持所有内容不变来解包元组中的子列表。元组列表通常更适合用作字典。这是你会考虑的吗?