Python嵌套列表推导式字符串拼接

4

我有一个类似于以下的Python列表嵌套列表:

[['a', 'b'], ['c', 'd']]

我希望能创建一个像这样的字符串:

请注意:以下示例仅用于演示目的,不应视为实际代码。

a,b;c,d

因此,列表应该用;分隔,同一列表中的值应该用,分隔。

到目前为止,我尝试了','.join([y for x in test for y in x]),它返回a,b,c,d。但是,正如您所看到的,还没有达到预期。


因此,列表应该用分号分隔,同一列表的值应该用逗号分隔 - 那不是Python列表。那是一个字符串。 - matcheek
2
';'.join(','.join(xs) for xs in lst) - falsetru
是的,最终输出应该是一个字符串。我会更新问题以明确这一点。 - beta
3个回答

9
";".join([','.join(x) for x in a])

我的实际数据包含浮点值:/而且Python现在出错了 TypeError: sequence item 0: expected str instance, float found... - beta
好的,在这种情况下,我需要使用这段代码:";".join([','.join(map(str, x)) for x in value]) - beta

7
>>> ';'.join(','.join(x) for x in [['a', 'b'], ['c', 'd']])
'a,b;c,d'

1
"要以函数方式完成,你可以使用map:"
l = [['a', 'b'], ['c', 'd']]


print(";".join(map(".".join, l)))
a.b;c.d

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接