将列表列表转换为字符串,并在逗号位置选择分隔符

Sus*_*nth 0 python for-loop join

这是列表的示例列表:

sample = [[6594, 3084, 6956, 3429], [6401, 1154, 6693, 1436], [6463, 712, 6754, 1015]]
Run Code Online (Sandbox Code Playgroud)

现在我有一个要求,字符串中不能有逗号,所以在子列表中,我必须用“:”替换逗号,两个列表之间的逗号必须用“|”替换。

最后,输出将如下所示:

"6594: 3084: 6956: 3429|6401: 1154: 6693: 1436|6463: 712: 6754: 1015"
Run Code Online (Sandbox Code Playgroud)

我尝试使用 join 方法,首先将列表列表转换为字符串:

sample = str([[6594, 3084, 6956, 3429], [6401, 1154, 6693, 1436], [6463, 712, 6754, 1015]])
final_result = "|".join(sample)
Run Code Online (Sandbox Code Playgroud)

这给了我输出字符串:

'[6594, 3084, 6956, 3429]|[6401, 1154, 6693, 1436]|[6463, 712, 6754, 1015]'
Run Code Online (Sandbox Code Playgroud)

所以这已经进行了一半。但是我不能再次应用 join 方法,因为每个数字都是一个字符串,我会得到一个看起来很有趣的输出。

我知道编写一个嵌套的 for 循环可以解决这个问题,但是有没有更优雅的方法,比如使用“join”或“map”或任何类似的方法?

注意:输出必须是如上所示的字符串格式。

Dut*_*n18 10

我喜欢这个方法

"|".join(": ".join(map(str, x)) for x in array)
Run Code Online (Sandbox Code Playgroud)