Python:压缩数字元组和字符串列表

2024-09-30 05:21:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表和一个元组。我试着把它们压缩成一个有三个“列”的列表。以下是我所拥有的:

splitKeys=[['259', ' 46'], ['281', ' 71'], ['49', ' 13378']]
data=(2.2217806892532197, 1.1757204348143286, 0.55)
b=zip(splitKeys, data)

但是,我明白了:

[(['259', ' 46'], 2.2217806892532197), (['281', ' 71'], 1.1757204348143286), 
(['49', '13378'], 0.55)]

当我真的想要这个的时候:

[('259', ' 46', 2.2217806892532197), ('281', ' 71', 1.1757204348143286),
 ('49', '13378], 0.55)]

我尝试了几种不同的方法,同时使用maplambda,但是仍然得到了上面提到的不需要的结果。你知道吗

有什么想法?你知道吗


Tags: 方法lambdamap列表datazip元组splitkeys
2条回答

你想要:

b = [(a, b, c) for (a, b), c in zip(splitKeys, data)]

在使用生成器表达式压缩之前,可以临时解压缩列表:

b = zip((k[0] for k in splitKeys), (k[1] for k in splitKeys), data)

输出:

b
Out[4]: 
[('259', ' 46', 2.2217806892532197),
 ('281', ' 71', 1.1757204348143286),
 ('49', ' 13378', 0.55)]

相关问题 更多 >

    热门问题