如何在Python的join()中使用其他分隔符

时间:2019-03-20 11:47:15

标签: python python-3.x

例如,给定一个列表nums = [1, 2, 3, 4, 5, 6, 7, 8],我想用分号将每对连接起来,并用逗号将每对数字连接起来以接收以下字符串:result = 1,2;3,4;5,6;7,8

如何在没有for循环(例如,使用join)的情况下做到这一点?

3 个答案:

答案 0 :(得分:4)

使用slicing

例如:

nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums = [str(i) for i in nums]
print( ";".join(",".join(nums[i:i+2]) for i in range(0, len(nums), 2)) )

输出:

1,2;3,4;5,6;7,8

答案 1 :(得分:0)

您也可以cycle穿过分隔符:

from itertools import cycle, chain

nums = [1, 2, 3, 4, 5, 6, 7, 8]
nums = [str(n) for n in nums]

''.join(chain.from_iterable(zip(nums, cycle(',;'))))[:-1]
# '1,2;3,4;5,6;7,8'

答案 2 :(得分:0)

尝试一下:

result = ";".join([",".join([str(i) for i in nums[k:k+2] ]) for k in range(len(nums)-2)])

输出

'1,2;2,3;3,4;4,5;5,6;6,7'